EXPLORINEER
vi

Hacker News

Node2Shell phát triển thành HTTP2Shell, phạm vi ảnh hưởng lan rộng tới nhiều thư viện và ứng dụng HTTP

Bảo mậtLần đầu xuất hiện 377 điểm195 bình luận


Một lỗi bảo mật nghiêm trọng (CVE-2026-111497) nằm trong thư viện nén Brotli của Google. Lỗi này có thể làm rò rỉ dữ liệu, làm sập chương trình hoặc cho kẻ tấn công chạy mã của chúng trên máy bị ảnh hưởng.

Chuyện gì đã xảy ra?

Hôm 21/10, Node.js công bố lỗi CVE-2026-111497, được gọi là "node2shell". Lỗi nằm ở cách Node.js giải nén dữ liệu Brotli do kẻ tấn công gửi tới. Hôm sau, Python cho biết các gói Python cũng bị ảnh hưởng. Đến ngày 23/10, người ta phát hiện lỗi này còn ảnh hưởng nhiều ngôn ngữ lập trình và ứng dụng khác dùng HTTP. Nhiều nơi chưa có bản vá đầy đủ.

Các con số và sự kiện chính

  • Điểm CVSS v4.0 là 9.2, mức Nghiêm trọng (Critical).
  • Lỗi ảnh hưởng các phiên bản Brotli từ 1.0.3 đến 1.2.0 trên mọi nền tảng.
  • Kẻ tấn công từ xa, không cần đăng nhập, có thể gây hại.
  • OpenAI đã tìm thấy lỗi này từ tháng 2 nhưng khi đó chưa nhận ra đây là lỗi bảo mật.
  • Bản vá đã có cho libbrotli, Python, C++, NodeJS, bun và Envoy, còn các bản khác đang được chuẩn bị.

Brotli là gì?

Brotli là một thuật toán nén dữ liệu do Google phát triển. Nó giúp làm nhỏ dữ liệu để lưu trữ hoặc gửi qua internet, rồi phần mềm giải nén để lấy lại dữ liệu gốc. Brotli được dùng rộng rãi để nén nội dung web như HTML, CSS và JavaScript. Lỗi xảy ra khi bộ giải nén tiếp tục nhận thêm byte dù lẽ ra phải từ chối. Các byte thừa này tràn ra khỏi vùng nhớ đệm nhỏ và làm hỏng bộ nhớ của chương trình. Kẻ tấn công có thể lợi dụng chỗ hỏng đó để chạy mã của riêng chúng.

Vì sao chuyện này quan trọng?

Brotli nằm sâu trong nhiều thư viện và ứng dụng, nên một lỗi ở đây có thể ảnh hưởng rất rộng. Vì mỗi dự án tự đóng gói Brotli, mỗi bên phải tự cập nhật. Với các công cụ quét lỗi như pip-audit, Dependabot và Safety, hiện chưa báo các phiên bản bị ảnh hưởng, nên người dùng dễ tưởng mình an toàn khi thật ra chưa.

Cần theo dõi điều gì?

  • Kiểm tra xem hệ thống của bạn có dùng Brotli làm thư viện phụ thuộc hay không.
  • Nâng cấp lên Brotli 1.2.1 hoặc brotlicffi 1.2.1.0, rồi dựng lại các container có chứa chúng.
  • Nếu chưa có bản vá, cân nhắc tắt tính năng giải nén Brotli tạm thời.
  • Theo dõi các thông báo bảo mật tiếp theo.

Chú giải

Brotli
Thuật toán nén dữ liệu do Google phát triển, dùng để làm nhỏ dữ liệu khi gửi qua mạng.
CVE-2026-111497
Mã định danh chính thức của lỗ hổng bảo mật trong bộ giải nén Brotli.
Node.js
Môi trường chạy JavaScript phía máy chủ, cho phép lập trình web bằng JavaScript.
CVSS
Thang điểm đánh giá mức độ nghiêm trọng của lỗ hổng bảo mật, từ 0 đến 10.
HTTP
Giao thức truyền tải dữ liệu giữa trình duyệt và máy chủ trên web.
Dependabot
Công cụ tự động quét và cảnh báo thư viện phụ thuộc có lỗ hổng bảo mật.