Chuyển đến nội dung chính

Lỗ hổng OpenSSH CVE-2026-123158: vượt xác thực trên Alpine Linux

  • Ngày đăng
  • 8 phút đọc
Ảnh minh họa: Lỗ hổng OpenSSH CVE-2026-123158: vượt xác thực trên Alpine Linux
Mục lục10

Ngày 5/11/2026, OpenSSH 10.6p2 được phát hành. OpenSSH là phần mềm mà hầu hết máy chủ Linux dùng để đăng nhập từ xa. Bản này sửa lỗi cho phép đăng nhập vào một số hệ thống Linux mà không cần biết mật khẩu (CVE-2026-123158). Ngày 9/11, cơ quan CISA của Mỹ đã đưa lỗi này vào danh sách lỗ hổng đã bị khai thác (KEV).

Lỗi ảnh hưởng đến những hệ thống build OpenSSH theo một cách nhất định, tiêu biểu là Alpine Linux. Red Hat Enterprise Linux và Ubuntu cho biết họ không bị ảnh hưởng. Bài viết này hướng dẫn cách nhận biết máy chủ của bạn có bị ảnh hưởng không, cách cập nhật, cách xử lý khi chưa cập nhật được và cách kiểm tra log.

Điểm chính

  • Đối tượng bị ảnh hưởng: OpenSSH build với thư viện musl và chạy không có PAM. Ví dụ tiêu biểu là Alpine Linux.
  • Khi đủ điều kiện, chỉ cần gửi một mật khẩu rất dài là đăng nhập được vào một số tài khoản.
  • Alpine Linux đã có gói sửa lỗi cho các bản 3.21 đến 3.24. Sau khi cập nhật cần khởi động lại sshd.
  • Nếu chưa cập nhật được, hãy tắt đăng nhập bằng mật khẩu (PasswordAuthentication no).

8.1

Mức nghiêm trọng (CVSS v3.1, theo NVD)

9/11

CISA đưa vào danh sách đã bị khai thác (2026)

10.6p2

Bản OpenSSH đã sửa lỗi

Giải thích thuật ngữ

OpenSSH: phần mềm để đăng nhập và điều khiển máy chủ từ xa một cách an toàn. sshd là thành phần nhận kết nối.

Alpine Linux: một bản Linux nhỏ gọn, thường dùng trong container Docker và máy ảo trên cloud.

musl: một thư viện C, thành phần cơ bản mà các chương trình sử dụng. Alpine dùng musl; phần lớn bản Linux khác dùng glibc.

PAM: cơ chế quản lý cách kiểm tra đăng nhập.

KEV: danh sách công khai của CISA về các lỗ hổng đã được xác nhận bị khai thác.

Lỗi này là gì, vì sao nguy hiểm?

Khi chạy không có PAM, sshd tự kiểm tra mật khẩu. Theo Alpine Linux, hàm băm mật khẩu của musl mà sshd dùng trả về ký tự "*" khi mật khẩu quá dài. Nhưng "*" cũng là giá trị hệ thống lưu cho những tài khoản không có mật khẩu. Vì vậy hai giá trị khớp nhau và đăng nhập thành công.

Alpine cho biết cuộc tấn công chỉ cần một kết nối, lần nào cũng thành công và không cần thử lại. Nhóm phát triển OpenSSH cho biết nguyên nhân gốc nằm ngoài OpenSSH, nhưng vì có thể bị khai thác qua sshd nên họ đã thêm bước kiểm tra trong sshd để chặn.

Tình trạng khai thác (tính đến ngày 13/11/2026)

CISA đưa lỗi vào KEV ngày 9/11 và yêu cầu các cơ quan liên bang Mỹ xử lý trước ngày 12/11. Thông báo của Alpine Linux và OpenSSH không nói đã thấy tấn công thực tế. Chúng tôi không tìm thấy thông tin chính thức về quy mô tấn công hay thiệt hại tại Nhật Bản. IPA và JPCERT/CC của Nhật chưa có cảnh báo về lỗi này (kiểm tra danh sách ngày 13/11).

Máy chủ của bạn có bị ảnh hưởng không?

Theo Alpine Linux, hệ thống chỉ bị ảnh hưởng khi cả 4 điều kiện sau đều đúng:

  • sshd chạy không có PAM (gói openssh-server của Alpine, hoặc openssh-server-pam với UsePAM no)
  • Đăng nhập bằng mật khẩu đang bật (PasswordAuthentication yes, mặc định là bật)
  • Có tài khoản mà trường mật khẩu là "*" (root trên Alpine từ khoảng bản 3.16, người dùng chỉ đăng nhập bằng key, v.v.)
  • Trên cùng máy có ít nhất một tài khoản có mật khẩu thông thường (bắt đầu bằng $5$ hoặc $6$)
Hệ thốngẢnh hưởngCăn cứ
Alpine Linux 3.16 đến 3.24, edgeBị ảnh hưởngThông báo của Alpine Linux
Image cloud chính thức của Alpine (3.18.11 đến 3.24.3)Bị ảnh hưởng nếu đủ điều kiệnCó người dùng alpine với "*"; khi trên máy có tài khoản có mật khẩu thì có thể bị khai thác
Red Hat Enterprise Linux 6 đến 10Không ảnh hưởngRed Hat (dùng glibc và PAM)
Ubuntu (18.04 trở đi)Không ảnh hưởngThông tin bảo mật của Ubuntu
DebianMức ưu tiên thấpTrang theo dõi của Debian ghi các bản stable là "vulnerable" nhưng đánh giá "unimportant"

Lưu ý: các hệ thống và thiết bị khác build OpenSSH với musl và không có PAM cũng có thể bị ảnh hưởng. Với thiết bị chuyên dụng, hãy xem thông tin của nhà sản xuất.

Có thể kiểm tra trên máy chủ như sau (cần quyền quản trị):

cat /etc/os-release
sshd -T | grep -i -E 'usepam|passwordauthentication'
awk -F: '$2 == "*" {print $1}' /etc/shadow

Dòng 1 cho biết hệ điều hành, dòng 2 cho biết cấu hình PAM và đăng nhập bằng mật khẩu, dòng 3 liệt kê các tài khoản có trường mật khẩu là "*".

Gói sửa lỗi của Alpine Linux

Dưới đây là các gói openssh đã sửa lỗi mà Alpine Linux công bố. Phiên bản này hoặc mới hơn là đã sửa.

Bản AlpineGói đã sửaTình trạng
3.2410.3_p1-r2Còn hỗ trợ
3.2310.2_p1-r1Còn hỗ trợ
3.2210.0_p1-r11Còn hỗ trợ
3.219.9_p2-r1Còn hỗ trợ
3.16 đến 3.203.20: 9.7_p1-r6, v.v.Hết hỗ trợ

Lưu ý: các bản 3.16 đến 3.20 đã hết hỗ trợ cũng có gói sửa, nhưng những lỗi khác vẫn không được sửa, nên chúng tôi khuyên chuyển sang bản còn hỗ trợ. Nếu bạn tự build OpenSSH, hãy dùng 10.6p2 trở lên.

5 bước xử lý

  1. Liệt kê máy chủ và container Alpine

    Kiểm tra máy ảo, container Docker và image cloud. Chỉ những máy đang chạy sshd mới bị ảnh hưởng. Container không chạy sshd thì không.

  2. Cập nhật gói

    Chạy apk upgrade -U -a và xác nhận phiên bản khớp bảng trên. Với container, build lại image rồi thay thế.

  3. Khởi động lại sshd

    Cập nhật gói không thay tiến trình sshd đang chạy. Chạy rc-service sshd restart.

  4. Tắt đăng nhập bằng mật khẩu

    Sau khi chắc chắn đăng nhập bằng key hoạt động, đặt PasswordAuthentication no. Việc này giúp phòng các lỗi tương tự.

  5. Kiểm tra log

    Làm theo phần "Cách tìm dấu hiệu bị tấn công" bên dưới.

Khi chưa cập nhật được

Alpine Linux và OpenSSH đưa ra cùng một cách tạm thời: tắt đăng nhập bằng mật khẩu. Thêm dòng sau vào cấu hình sshd rồi khởi động lại sshd:

PasswordAuthentication no

Cẩn thận tự khoá mình ở ngoài

Trước khi đổi cấu hình, hãy chắc chắn bạn đăng nhập được bằng key. Giữ phiên đang mở, thử đăng nhập mới từ cửa sổ khác rồi mới đóng phiên cũ.

Giới hạn địa chỉ IP được phép kết nối SSH bằng firewall cũng là cách phổ biến để giảm rủi ro.

Cách tìm dấu hiệu bị tấn công

Alpine Linux khuyên kiểm tra:

  • Log của sshd có dòng "Accepted password for" với tài khoản không có mật khẩu không
  • Có lần dùng doas (công cụ chạy lệnh với quyền quản trị) nào lạ không
  • Có người dùng, tệp hay SSH key (authorized_keys) nào mới mà bạn không thêm không

Alpine Linux khuyên rằng nếu máy mở ra Internet và bạn không thể loại trừ khả năng đã bị đăng nhập, hãy coi như máy đã bị xâm nhập. Khi đó nên cân nhắc dựng lại máy. Bài "Lỗ hổng nhân Linux" cũng hướng dẫn cách kiểm tra máy chủ Linux.

Những điểm dễ bỏ sót với container và cloud

Vì nhẹ nên Alpine rất phổ biến trong container Docker và máy ảo nhỏ trên cloud. Đôi khi sshd cài để phát triển vẫn còn chạy trên production.

  • Có image container cũ không rõ nguồn gốc đang chạy trên production không?
  • Có chạy sshd bên trong container không? (Thường là không cần.)
  • Cổng SSH (ví dụ 22) có mở ra Internet không?

Nếu người phụ trách đã nghỉ, hoặc không liên lạc được với công ty đã làm hệ thống, hãy xem "tiếp nhận bảo trì hệ thống".

Để nguyên hay xử lý ngay?

Nếu để nguyên

  • Người không biết mật khẩu vẫn có thể đăng nhập
  • Máy chủ có thể bị dùng làm bàn đạp tấn công hệ thống khác trong công ty
  • Container từ image cũ vẫn chạy mà không ai biết

Nếu cập nhật và kiểm tra

  • Lỗi này được bịt lại
  • Có thể bỏ mật khẩu và chuyển hẳn sang key
  • Nắm rõ máy chủ nào đang chạy gì

Hãy để Digi Dinos hỗ trợ

Digi Dinos hỗ trợ doanh nghiệp về DX, bảo mật, vận hành và bảo trì hệ thống. Chúng tôi đạt chứng nhận ISO 27001, có dịch vụ vận hành máy chủ và cloud, giám sát 24/7 (NOC). Đội ngũ của chúng tôi làm việc với khách hàng bằng tiếng Nhật.

  • Kiểm kê máy chủ và container: liệt kê hệ điều hành, phần mềm và phiên bản đang chạy.
  • Cập nhật và rà soát cấu hình: rà soát cấu hình SSH, chuyển sang đăng nhập bằng key, có kế hoạch rõ ràng kể cả với hệ thống không thể dừng.
  • Giám sát và tiếp nhận vận hành: tiếp nhận cả máy chủ trước đây do công ty khác quản lý.

Chưa chắc máy chủ của bạn an toàn? Hãy hỏi chúng tôi (tư vấn miễn phí)

Từ kiểm tra máy chủ đến lập kế hoạch cập nhật, chúng tôi hướng dẫn bằng tiếng Nhật.

Câu hỏi thường gặp

Máy chủ Red Hat Enterprise Linux hoặc Ubuntu có cần xử lý không?

Red Hat và Ubuntu cho biết không bị ảnh hưởng. Tuy vậy, hãy kiểm tra xem công ty có container hay máy ảo Alpine nào không.

Tôi chỉ đăng nhập bằng key. Có bị ảnh hưởng không?

Nếu sshd đã tắt đăng nhập bằng mật khẩu (PasswordAuthentication no) thì không bị ảnh hưởng. Dù chỉ dùng key, cấu hình vẫn có thể đang cho phép mật khẩu, nên hãy kiểm tra.

Đã có thiệt hại tại Nhật Bản chưa?

Tính đến ngày 13/11/2026, chúng tôi không tìm thấy thông tin chính thức về thiệt hại tại Nhật Bản. Điều đó không có nghĩa là chưa có thiệt hại nào.

Bài viết liên quan