Lỗ hổng ‘HollowByte’ trong OpenSSL: Nguy cơ làm cạn kiệt bộ nhớ Server chỉ với 11 byte
Một lỗ hổng bảo mật mới mang tên HollowByte trong OpenSSL cho phép kẻ tấn công gây cạn kiệt bộ nhớ server thông qua các yêu cầu TLS handshake nhỏ. Đáng chú ý, lỗ hổng này không được gán CVE và không...
Nhóm Red Team của Okta vừa công bố chi tiết về một lỗ hổng bảo mật nghiêm trọng trong OpenSSL, được đặt tên là HollowByte. Lỗ hổng này cho phép kẻ tấn công thực hiện tấn công từ chối dịch vụ (DoS) bằng cách gửi các yêu cầu TLS handshake chỉ với 11 byte, khiến server chiếm dụng bộ nhớ không cần thiết và không thể giải phóng.
Table Of Content
Cơ chế tấn công của HollowByte
Vấn đề nằm ở cách OpenSSL xử lý các gói tin TLS. Cụ thể, mỗi thông điệp TLS handshake bao gồm một header 4 byte, trong đó 3 byte xác định độ dài của phần thân (body). Trong các phiên bản cũ, OpenSSL sẽ tự động cấp phát bộ nhớ đệm (buffer) dựa trên độ dài được khai báo trong header ngay khi nhận được gói tin, trước khi thực hiện bất kỳ bước xác thực nào.
Kẻ tấn công có thể lợi dụng điều này để yêu cầu cấp phát tới 131 KB bộ nhớ cho mỗi kết nối. Sau đó, tiến trình làm việc (worker thread) sẽ bị treo, chờ đợi phần thân của gói tin không bao giờ xuất hiện. Điểm nguy hiểm nhất là khi kết nối bị ngắt, dù OpenSSL giải phóng bộ nhớ, nhưng thư viện glibc thường giữ lại các phân đoạn bộ nhớ này thay vì trả về cho hệ điều hành, dẫn đến tình trạng phân mảnh heap và làm cạn kiệt tài nguyên hệ thống theo thời gian.
Tại sao đây là vấn đề lớn?
Theo thử nghiệm của Okta, các biện pháp phòng thủ giới hạn kết nối thông thường không thể ngăn chặn HollowByte vì kẻ tấn công không cần vượt quá ngưỡng kết nối tối đa. Trên một server 16 GB, lỗ hổng này có thể chiếm dụng tới 25% tổng bộ nhớ hệ thống mà không cần thực hiện bất kỳ giao dịch xác thực hay trao đổi khóa nào.
Điều gây tranh cãi là OpenSSL đã quyết định không gán mã CVE hay đưa ra thông báo chính thức cho lỗ hổng này, mà chỉ xử lý như một bản vá “bug hoặc hardening”. Điều này khiến các quản trị viên khó nhận diện và cập nhật kịp thời thông qua các công cụ quét lỗ hổng tự động.
Khuyến nghị cho quản trị viên
Các phiên bản OpenSSL đã được vá lỗi bao gồm: 4.0.1, 3.6.3, 3.5.7, 3.4.6 và 3.0.21 (tất cả đều được phát hành ngày 9 tháng 6 năm 2026).
- Nếu bạn tự xây dựng OpenSSL, hãy nâng cấp lên các phiên bản nêu trên và khởi động lại các dịch vụ liên quan.
- Đối với các hệ thống sử dụng gói từ nhà cung cấp (như Red Hat), hãy kiểm tra kỹ changelog của gói tin hoặc liên hệ với nhà bảo trì để xác nhận xem bản vá đã được áp dụng (backport) hay chưa.
- Lưu ý rằng bản vá hiện tại chỉ áp dụng cho TLS; giao thức DTLS vẫn chưa được xử lý trong đợt cập nhật này.
Nguồn tham khảo: The Hacker News


No Comment! Be the first one.