Hatena
Lỗ hổng nghiêm trọng "HTTP2Shell" trong định dạng nén Brotli của Google, ảnh hưởng rộng đến các hệ thống liên quan web; tác động của "Node2Shell", do OpenAI phát hiện, đang mở rộng, có nguy cơ thực thi mã từ xa không cần xác thực
Bảo mậtLần đầu xuất hiện 93 điểm
Một lỗ hổng bảo mật nghiêm trọng đã được tìm thấy trong Brotli, một công cụ nén dữ liệu do Google làm ra. Có người gọi nó là "HTTP2Shell", và kẻ tấn công có thể dùng nó để chạy mã trên máy chủ mà không cần đăng nhập.
Chuyện gì đã xảy ra
Người ta tìm thấy một lỗ hổng sâu, được đánh số CVE-2026-111497, trong phiên bản C của Brotli. Brotli là công cụ nén dữ liệu để làm cho file nhỏ hơn. Lỗi nằm ở phần giải nén dữ liệu, gọi là bộ giải mã. Kẻ tấn công có thể tấn công từ xa mà không cần mật khẩu. OpenAI là đơn vị báo cáo đầu tiên, và gọi lỗi này là "Node2Shell" vì nó liên quan đến Node.js. Sau đó, các kiểm tra cho thấy nhiều công cụ web khác xử lý lưu lượng HTTP cũng bị ảnh hưởng. Vì vậy, công ty bảo mật Aikido Security và những đơn vị khác bắt đầu gọi lỗi này là "HTTP2Shell".
Con số và thông tin chính
- Điểm mức độ nghiêm trọng (CVSS 4.0): 9,2 trên 10, được xếp loại Critical (nghiêm trọng nhất).
- Các phiên bản bị ảnh hưởng: Brotli từ v1.0.3 đến v1.2.0.
- Các phiên bản đã sửa, phát hành ngày 21 tháng 10: Brotli v1.0.10, v1.1.1 và v1.2.1.
- Các phiên bản Node.js đã sửa gồm v22.23.4, v24.22.1 và v26.12.1.
- Các gói Python Brotli và brotlicffi cũng bị ảnh hưởng và đã được sửa ở v1.2.1 và v1.2.1.0.
Brotli dùng để làm gì?
Brotli được dùng để thu nhỏ trang web và các file gửi qua HTTPS. Khi một trang gửi nội dung đã nén, nó đánh dấu bằng "Content-Encoding: br". Vì rất nhiều sản phẩm web dùng Brotli, chỉ một lỗi cũng có thể ảnh hưởng đến nhiều chương trình cùng lúc. Lưu ý: đây không phải lỗi nằm trong kết nối HTTP/2. Lỗi ảnh hưởng đến cả hệ thống web rộng hơn dùng HTTP.
Tại sao điều này quan trọng
Nếu kẻ tấn công khai thác lỗi này, chúng có thể làm hỏng bộ nhớ, đọc dữ liệu riêng tư trong bộ nhớ, làm sập một dịch vụ, hoặc thậm chí chạy mã của riêng chúng. Vì lỗi ảnh hưởng đến nhiều công cụ web phổ biến, nhiều công ty và lập trình viên cần cập nhật thật nhanh. Các ứng dụng có Brotli nằm sẵn bên trong phải được dựng lại và triển khai lại, không chỉ cập nhật thông thường.
Nên làm gì
- Cập nhật Brotli và mọi chương trình có chứa nó lên phiên bản đã sửa.
- Dựng lại và triển khai lại các ứng dụng và container có đóng gói Brotli, kể cả chương trình một file Bun.
- Nếu chưa thể cập nhật, tắt giải mã Brotli với dữ liệu không đáng tin. Gzip và deflate vẫn có thể bật.
- Với Envoy Proxy và Istio, tắt bộ lọc Brotli cho cả yêu cầu và phản hồi.
- Istio 1.29 không còn được hỗ trợ, nên hãy chuyển sang phiên bản 1.30 trở lên.
Chú giải
- Brotli
- Công cụ nén dữ liệu do Google làm, giúp file và trang web nhỏ hơn khi gửi qua mạng.
- Node.js
- Môi trường chạy JavaScript phía máy chủ, dùng để làm các trang web và ứng dụng mạng.
- CVSS
- Thang điểm đo mức độ nghiêm trọng của lỗ hổng bảo mật, từ 0 đến 10.
- Envoy Proxy
- Phần mềm trung gian đứng giữa các dịch vụ, dùng để chuyển và kiểm soát lưu lượng mạng.
- Istio
- Công cụ quản lý giao tiếp giữa các dịch vụ trong hệ thống máy chủ, thường dùng cùng Envoy.
- Gzip
- Một cách nén dữ liệu phổ biến khác, vẫn an toàn để dùng trong trường hợp này.