OpenSSH vội váng vá lỗ hổng bỏ qua xác thực SSHole
OpenSSH phát hành bản vá khẩn cấp cho lỗ hổng bỏ qua xác thực nghiêm trọng mang tên SSHole (CVE-2026-123158, điểm CVSS 8.1), cho phép kẻ tấn công đăng nhập bằng mật khẩu rất dài trên các bản phân phối Linux dùng musl libc không có PAM. Lỗ hổng đặc biệt nguy hiểm vì chỉ cần một kết nối duy nhất là có thể chiếm được quyền truy cập, và bản vá đã có trong OpenSSH 10.6p2.

OpenSSH vừa phát hành bản vá khẩn cấp cho một lỗ hổng bỏ qua xác thực (authentication bypass) mức độ nghiêm trọng cao, cho phép kẻ tấn công đăng nhập chỉ bằng những mật khẩu có độ dài bất thường.
Lỗ hổng được đặt tên là SSHole, mã định danh CVE-2026-123158 với điểm CVSS 8.1. Đối tượng bị ảnh hưởng là máy chủ OpenSSH (sshd) trên các bản phân phối Linux sử dụng thư viện musl libc trong khi module xác thực PAM (Pluggable Authentication Module) bị tắt.
Minh họa lỗ hổng OpenSSH SSHole
Nguyên nhân: hiểu nhầm chuỗi mật khẩu
Theo nhà nghiên cứu bảo mật Özgün Kültekin của Wakefield, gốc rễ vấn đề nằm ở việc "hiểu nhầm liệu một chuỗi có phải là mã băm mật khẩu hay không". Chính sự nhầm lẫn này cho phép kẻ tấn công truy cập vào một số tài khoản nhất định bằng bất kỳ mật khẩu nào có độ dài từ 257 đến 1.024 ký tự.
Một số tài khoản như root lẽ ra không bao giờ được chấp nhận mật khẩu, nhưng trên các bản phân phối như Alpine, OpenWrt, Buildroot, Yocto và nhiều hệ thống khác, chúng lại chấp nhận.
Theo nhà phát triển OpenSSH Damien Miller, lỗi không nằm trong bản thân sshd mà có thể bị khai thác thông qua sshd. Bản sửa lỗi đã được đưa vào OpenSSH 10.6p2.
"Chúng tôi phát hành bản này nhanh nhất có thể (chúng tôi mới biết về vấn đề từ hôm qua) vì gần đây đã quan sát thấy nhiều trường hợp các tác nhân AI phát hiện lại lỗi với tốc độ chóng mặt, đôi khi chỉ trong vài giờ. Vì vậy, chúng tôi coi việc giữ bí mật lâu là một thực tiễn nguy hiểm, chủ yếu mang lại lợi ích cho kẻ tấn công," Miller cho biết.
Điều kiện khai thác và phạm vi ảnh hưởng
Alpine Linux đã kêu gọi người dùng áp dụng ngay bản vá OpenSSH và khởi động lại sshd để thay thế tiến trình daemon đang chạy, hoặc tắt đăng nhập bằng mật khẩu rồi khởi động lại sshd.
Theo cảnh báo của Alpine Linux, kẻ tấn công cần biết tên một tài khoản có trường mật khẩu là "*" (tài khoản không đặt mật khẩu, thường gặp ở các tài khoản chỉ dùng khóa), đồng thời máy phải có ít nhất một tài khoản khác chứa mã băm mật khẩu dạng $5$ hoặc $6$.
Từ phiên bản 3.16, Alpine Linux dùng ký tự "*" để bảo vệ tài khoản root, còn các mã băm $5$ hoặc $6$ cho biết hệ thống dùng SHA-256 hay SHA-512 crypt.
"Kẻ tấn công có thể tiếp cận cổng SSH của bạn sẽ đăng nhập được mà không cần biết bất kỳ mật khẩu nào. Chỉ cần một kết nối, thành công mọi lần và không cần thử lại," Alpine Linux cảnh báo.
Các triển khai Alpine Linux bị ảnh hưởng là những hệ thống chạy OpenSSH không có PAM, bật xác thực bằng mật khẩu, có tài khoản với trường mật khẩu "*" (như root, người dùng chỉ dùng khóa được tạo bằng adduser không kèm mật khẩu, tài khoản alpine trong các image tiny-cloud chính thức, hoặc người dùng đến từ dịch vụ thư mục qua musl-nscd) và có ít nhất một tài khoản cục bộ chứa mã băm $5$ hoặc $6$.
Alpine Linux cho biết các phiên bản bị ảnh hưởng gồm mọi bản phát hành đã kiểm tra, từ 3.21 đến 3.24 và edge, cùng các bản cũ hơn không còn được cập nhật thường xuyên (3.16 đến 3.20).
Rủi ro quét diện rộng trong vài giờ
Giới nghiên cứu bảo mật nhận định khả năng bị khai thác hàng loạt là rất cao, bởi chi phí thử nghiệm gần như bằng không.
"Chúng tôi chưa thấy báo cáo nào về việc bị khai thác, nhưng chi tiết đã công khai và tấn công thì đơn giản, nên tôi dự đoán việc quét sẽ bắt đầu trong vài giờ tới. Việc tìm mục tiêu rất dễ: Shodan liệt kê khoảng 22 triệu hệ thống mở SSH trên cổng 22, và con số thực tế còn cao hơn vì Shodan không thấy hết. Chỉ một phần trong số đó chạy Alpine, nhưng mỗi lần thử chỉ là một kết nối nên kẻ tấn công đủ sức thử tất cả," Fredrik Almroth, đồng sáng lập kiêm nhà nghiên cứu bảo mật chính của Detectify, nói.
Jake Knott, trưởng bộ phận tình báo mối đe dọa tại WatchTowr, cũng nhận định: "Chúng tôi sẽ rất bất ngờ nếu không thấy các công cụ dò mật khẩu SSH thử chiêu này trước cuối tuần. Chi phí thử gần như bằng không và là một chiến thắng dễ dàng nếu thành công. Nếu tổ chức của bạn bị ảnh hưởng, hãy cập nhật lên phiên bản mới nhất khi có thể, và tắt xác thực bằng mật khẩu như biện pháp tạm thời nếu chưa kịp."
Cảnh báo bảo mật OpenSSH
Cách xử lý
- Nâng cấp lên OpenSSH 10.6p2 hoặc bản vá tương ứng từ nhà phân phối, sau đó khởi động lại sshd.
- Tắt xác thực bằng mật khẩu (password authentication), chuyển sang xác thực bằng khóa SSH nếu chưa kịp cập nhật.
- Rà soát các tài khoản có trường mật khẩu "*" và cân nhắc khóa đăng nhập mật khẩu cho các tài khoản này.
- Theo dõi log sshd để phát hiện các nỗ lực đăng nhập bằng mật khẩu dài bất thường.
Góc nhìn
Với các kỹ sư và đội vận hành tại Việt Nam, đây là lời nhắc về cái giá của những cấu hình tưởng chừng nhỏ. Nhiều hệ thống nhúng, container tối giản hoặc thiết bị IoT dùng các bản phân phối nhẹ như Alpine vì tiết kiệm tài nguyên — và chính môi trường musl libc không PAM ấy lại là điều kiện để lỗ hổng phát tác. Bài học thực tế là không nên bật đăng nhập bằng mật khẩu cho SSH nếu có thể dùng khóa, đồng thời phải có quy trình cập nhật bản vá nhanh cho cả những máy chủ ít khi được chạm tới.
Điểm đáng chú ý thứ hai là chính nhà phát triển OpenSSH đã rút ngắn thời gian giữ bí mật vì lo các tác nhân AI phát hiện lại lỗi chỉ trong vài giờ. Điều này cho thấy chu kỳ từ lúc có lỗ hổng đến lúc bị quét diện rộng đang ngắn lại, nên các doanh nghiệp cần chuẩn bị sẵn kịch bản vá khẩn cấp thay vì chờ đến khi có cảnh báo chính thức mới bắt đầu xử lý.
Nguồn: securityweek.com (bài gốc ngày 06 tháng 11, 2026) · Quy trình biên tập


