CVE-2026-46333 là một lỗ hổng CVE trong Linux kernel đang gây chú ý vì có thể cho phép kẻ tấn công truy cập dữ liệu nhạy cảm trên hệ thống bị ảnh hưởng, bao gồm SSH private keys và password hashes. Lỗ hổng này còn được gọi là ssh-keysign-pwn và ảnh hưởng đến nhiều bản phân phối Linux trước bản vá phát hành ngày 14/05/2026.
Thông tin tham chiếu công khai có thể xem tại NVD – CVE-2026-46333.
Lỗ hổng CVE Trong Linux Kernel
Điểm yếu bắt nguồn từ logic kiểm soát truy cập ptrace trong Linux kernel, cụ thể là hàm __ptrace_may_access(). Cơ chế này được thiết kế để hạn chế cách một tiến trình có thể quan sát hoặc tương tác với tiến trình khác.
Tuy nhiên, lỗi logic liên quan đến kiểm tra dumpability tạo ra một race condition nguy hiểm. Khi một tiến trình có đặc quyền như ssh-keysign hoặc chage đang thoát, tồn tại một khoảng thời gian ngắn trong đó bộ nhớ của tiến trình đã bị giải phóng (mm = NULL) nhưng open file descriptors vẫn còn tồn tại.
Trong khoảng cửa sổ này, kẻ tấn công cục bộ không có đặc quyền có thể tận dụng pidfd_getfd() để đánh cắp các file descriptor đó. Điều này làm vô hiệu hóa các kiểm tra quyền truy cập dự kiến và dẫn đến truy cập trái phép vào tệp nhạy cảm.
Ảnh Hưởng Của CVE-2026-46333
Lỗ hổng CVE này được ghi nhận ảnh hưởng đến hầu hết các bản phân phối Linux chạy kernel trước bản vá ngày 14/05/2026. Theo phân tích công khai, lỗ hổng đã tồn tại trong hơn 6 năm, nên nhiều hệ thống triển khai dài hạn có thể vẫn đang bị phơi nhiễm.
Các tác động kỹ thuật chính gồm:
- Đọc trái phép file descriptor từ tiến trình đặc quyền.
- Rò rỉ dữ liệu như SSH private keys và password hashes.
- Chiếm quyền truy cập các tài nguyên nhạy cảm trên hệ thống.
- Nguy cơ mở rộng truy cập sang nhiều môi trường nếu khóa SSH bị tái sử dụng.
Do SSH thường là nền tảng cho truy cập an toàn trong cloud và enterprise, việc lộ private key có thể dẫn tới hệ thống bị xâm nhập ở phạm vi rộng hơn.
Điều Kiện Kỹ Thuật Dẫn Đến Khai Thác
Vấn đề cốt lõi nằm ở cách kernel xử lý tiến trình không còn memory context. Cờ dumpability, ban đầu dùng để kiểm soát core dump, lại được tái sử dụng trong các kiểm tra ptrace ngay cả khi trạng thái tiến trình đã chuyển sang giai đoạn kết thúc.
Khi tiến trình thoát, bộ nhớ bị giải phóng trước khi file descriptor được đóng hoàn toàn. Trong giai đoạn chuyển tiếp này, kernel không thực thi đúng các ràng buộc truy cập, từ đó tạo điều kiện cho kẻ tấn công vượt qua ranh giới bảo mật.
PoC Và Cách Khai Thác
Mã khai thác công khai ssh-keysign-pwn trên GitHub minh họa cách vũ khí hóa race condition này trên các kernel trước commit 31e62c2ebbfd. PoC tạo nhiều tiến trình tấn công lặp lại để tranh chấp với đường thoát của tiến trình đặc quyền.
PoC dùng pidfd_getfd để lấy các file descriptor trỏ tới tệp thuộc sở hữu của root trước khi chúng bị đóng. Theo phân tích công khai, khai thác thường thành công trong khoảng 100–2000 lần thử, đủ thực dụng trên hệ thống thật.
Mã nguồn PoC tham khảo: https://github.com/0xdeadbeefnetwork/ssh-keysign-pwn
Hai Hướng Khai Thác Chính
- Tranh chấp tiến trình thoát: tạo áp lực lên tiến trình đặc quyền để bắt đúng thời điểm file descriptor còn tồn tại.
- Đánh cắp file descriptor: sử dụng pidfd_getfd() để sao chép descriptor trước khi kernel đóng chúng.
IOC Cần Lưu Ý
Nội dung nguồn không cung cấp IOC theo dạng hash, IP, domain hay filename cụ thể. Các chỉ dấu kỹ thuật có thể theo dõi gồm:
- CVE-2026-46333
- ssh-keysign-pwn
- pidfd_getfd() được sử dụng bất thường trong tiến trình cục bộ
- __ptrace_may_access() liên quan đến kiểm tra truy cập tiến trình
- commit 31e62c2ebbfd trên kernel đã được vá
Giảm Thiểu Rủi Ro Bảo Mật
Do đây là lỗ hổng CVE có thể dẫn tới truy cập trái phép vào file nhạy cảm, tổ chức nên ưu tiên cập nhật bản vá kernel lên phiên bản đã khắc phục sau ngày 14/05/2026. Với hệ thống chưa thể cập nhật ngay, cần rà soát các tiến trình đặc quyền sử dụng SSH helper và theo dõi hành vi gọi pidfd_getfd() từ tiến trình không mong đợi.
Trong môi trường có giám sát an ninh, các bộ IDS hoặc cơ chế phát hiện xâm nhập cần tập trung vào dấu hiệu:
- Tiến trình cục bộ không đặc quyền gọi các syscall liên quan đến pidfd.
- Hoạt động bất thường quanh tiến trình đặc quyền như ssh-keysign và chage.
- Các mẫu truy cập file descriptor lặp lại với tần suất cao.
Vì lỗ hổng CVE này có PoC công khai, nguy cơ bị khai thác thực tế đã tăng lên đáng kể. Việc kiểm tra phiên bản kernel, đối chiếu trạng thái vá lỗi và giới hạn bề mặt tấn công từ các helper đặc quyền là các bước cần thực hiện sớm trên hệ thống Linux bị ảnh hưởng.










