Giám đốc điều hành Binance Changpeng Zhao (CZ) vừa lên tiếng cảnh báo về một lỗi xác thực OpenSSH tồn tại lâu năm, có thể cho phép kẻ tấn công đăng nhập vào một số máy chủ mà không cần biết mật khẩu — và lỗi này đã ẩn mình trong các hệ thống gần một thập kỷ. Chuyện gì đã xảy ra - Ngày 5 tháng 11, OpenSSH và Alpine Linux đã công bố bản vá cho một lỗ hổng vượt qua xác thực mà theo các nhà nghiên cứu, bắt nguồn từ những thay đổi được thực hiện trong giai đoạn 2012–2016. Ngày hôm sau, CZ khuếch đại cảnh báo trên X và thúc giục quản trị viên cài bản vá ngay lập tức. Ông không nói Binance bị ảnh hưởng; các khuyến cáo cũng không ghi nhận bằng chứng về việc hệ thống bị xâm nhập. Cách lỗi này hoạt động (phiên bản ngắn) - Lỗ hổng ảnh hưởng đến OpenSSH trên các hệ thống dùng musl libc (đáng chú ý là nhiều bản dựng Alpine Linux) khi: - PAM không được dùng để kiểm tra mật khẩu, - Xác thực bằng mật khẩu vẫn được bật, và - Có một số cấu hình tài khoản nhất định. - Kẻ tấn công có thể vượt qua xác thực bằng cách gửi một mật khẩu quá dài (từ 257 đến 1.024 byte). Nếu trường mật khẩu được lưu của tài khoản mục tiêu có chứa dấu hoa thị (*) — nghĩa là “không có mật khẩu” trong hàm băm musl — và một tài khoản cục bộ khác có mã băm SHA-256 hoặc SHA-512 tương thích, máy chủ có thể chấp nhận nhầm mật khẩu quá dài và cấp quyền truy cập. - Điều này có thể cho phép truy cập vào các tài khoản mà quản trị viên tin rằng chỉ được cấu hình để đăng nhập bằng khóa SSH. Ai bị ảnh hưởng - Có khả năng dễ bị tấn công: các hệ thống Alpine Linux chạy OpenSSH không có PAM và đã bật xác thực bằng mật khẩu; một số ảnh Alpine trên đám mây/“tiny-cloud” nếu về sau các điều kiện cụ thể được tạo ra. - Không bị ảnh hưởng: hệ thống dùng PAM để xác minh mật khẩu, máy chủ đã tắt xác thực bằng mật khẩu, container không có máy chủ SSH đang hoạt động. - Vấn đề này cũng có thể ảnh hưởng đến các bản phân phối Linux khác dùng musl libc (một số cấu hình OpenWrt, Buildroot và Yocto). Dropbear SSH mặc định của OpenWrt không bị ảnh hưởng bởi lỗi này. Phát hiện và bối cảnh kỹ thuật - Nhà nghiên cứu bảo mật Özgün Kültekin (Wakefield) phát hiện và đặt tên cho lỗ hổng là “*sshole.” Ông truy nguyên vấn đề đến cách musl băm mật khẩu: musl trả về dấu hoa thị khi mật khẩu vượt quá giới hạn xử lý 256 byte. Một thay đổi trong OpenSSH hồi tháng 7 năm 2016 (nhằm khắc phục rò rỉ thông tin cho phép dò tìm tên người dùng) có thể khiến sshd mượn salt của một tài khoản khác khi xác thực tài khoản không có mã băm hợp lệ. Khi kết hợp với nhau, các hành vi này khiến dấu hoa thị được trả về khớp với dấu hoa thị đã lưu, dẫn đến xác thực thành công. - Nhóm OpenSSH thừa nhận lỗ hổng nhưng cho biết nguyên nhân gốc nằm ngoài sshd; bản phát hành ngày 5 tháng 11 (OpenSSH 10.6p2) áp dụng biện pháp khắc phục tạm thời để ngăn lỗi xác thực. Vì sao điều này quan trọng với các đơn vị vận hành tiền mã hóa - Nhiều ảnh đám mây nhẹ và lựa chọn hạ tầng trong lĩnh vực tiền mã hóa sử dụng Alpine Linux hoặc các bản dựng dựa trên musl. Khuyến cáo của Alpine nêu rõ các ảnh tiny-cloud từ phiên bản 3.18.11 đến 3.24.3: tài khoản alpine mặc định có thể chạy doas mà không cần mật khẩu, và nếu các điều kiện khai thác xuất hiện về sau, một lần đăng nhập thành công có thể được nâng quyền lên root. Ngay cả khi mặc định đã chặn đăng nhập root, tài khoản quản trị bị xâm nhập vẫn có thể bị lợi dụng để giành đặc quyền cao hơn — một rủi ro nghiêm trọng đối với đơn vị vận hành node, ví, trình xác thực và dịch vụ lưu ký. Việc cần làm ngay - Cập nhật: Cài OpenSSH 10.6p2 hoặc các gói đã vá của Alpine Linux (Alpine cho biết đã có bản sửa lỗi cho các phiên bản từ 3.16). Lưu ý, chỉ cập nhật các gói là chưa đủ — bạn phải khởi động lại tiến trình sshd sau khi cập nhật. - Nếu chưa thể cập nhật ngay: tạm thời tắt xác thực bằng mật khẩu bằng cách đặt PasswordAuthentication no trong sshd_config rồi khởi động lại sshd sau khi xác nhận quyền truy cập bằng khóa SSH vẫn hoạt động. - Kiểm tra nhật ký: Rà soát nhật ký xác thực SSH để tìm các lần đăng nhập bằng mật khẩu bất thường vào những tài khoản lẽ ra không chấp nhận mật khẩu. - Nếu không thể loại trừ khả năng truy cập trái phép, hãy xem máy bị xâm nhập và làm theo quy trình ứng phó sự cố của bạn. Bản vá và phiên bản - OpenSSH phát hành phiên bản 10.6p2 vào ngày 5 tháng 11. - Alpine xác định các bản phát hành gói đã khắc phục lỗi (ví dụ gồm 3.21.10, 3.22.8, 3.23.8 và 3.24.4) và cho biết đã có bản vá cho các phiên bản hiện hành cũng như các nhánh cũ đến 3.16. Bối cảnh - Bài đăng của CZ là cảnh báo bảo mật mới nhất trong một loạt cảnh báo ông công khai gần đây (gần đây ông đã chỉ ra một trang Trust Wallet giả mạo dùng để lừa đảo người dùng). Do một tài khoản bị xâm nhập có thể trở thành điểm khởi đầu để di chuyển ngang trong hệ thống, các đơn vị vận hành hạ tầng tiền mã hóa nên ưu tiên cài đặt các bản sửa lỗi này. Tóm lại: Nếu bạn đang chạy Alpine hoặc bất kỳ hệ thống nào dựa trên musl có OpenSSH và bật xác thực bằng mật khẩu, hãy cài bản vá và khởi động lại sshd ngay — hoặc ít nhất hãy tắt xác thực bằng mật khẩu cho đến khi có thể áp dụng bản sửa lỗi và kiểm tra hệ thống. Đọc thêm tin tức do AI tạo tại: https://app.chaingpt.org/news