CISA đã đưa CVE-2026-111497 vào danh mục lỗ hổng bị khai thác ngày 27/10/2026 (nguồn). Hãy xem đây là mức ưu tiên vá, không phải chẩn đoán rằng website của bạn đã bị xâm nhập.
Thông báo của Node.js nói gì
Theo thông báo bảo mật tháng 10/2026 của Node.js, lỗ hổng ảnh hưởng đến Node.js 22.x, 24.x và 26.x trước các bản phát hành đã vá bên dưới. Điều kiện kích hoạt là ứng dụng giải nén dữ liệu Brotli do kẻ tấn công cung cấp bằng node:zlib. Dữ liệu sai định dạng có thể làm hỏng bộ nhớ tiến trình, dẫn đến crash, lộ bộ nhớ hoặc thực thi mã. Các dòng đã hết vòng đời (end-of-life) được xem là bị ảnh hưởng, và nhà cung cấp không đưa ra cách khắc phục tạm thời (workaround).
Đây là các bản vá ngày 21/10, không phải bản vá mới. Hãy cài bản phát hành đã vá đang được hỗ trợ mới nhất trong dòng của bạn, hoặc theo lộ trình nâng cấp được nhà cung cấp hỗ trợ nếu dòng đó đã hết vòng đời. Không hạ cấp một môi trường chạy (runtime) Node.js mới hơn đã được vá chỉ để khớp với bảng.
Ai thực sự nằm trong phạm vi
Danh sách này chỉ bao quát một đường tấn công: môi trường chạy Node.js mà ứng dụng dùng node:zlib để giải nén dữ liệu Brotli không tin cậy. Cả hai điều kiện đều phải có. Hãy hỏi xem backend, API, tiến trình chạy nền (background worker) hay dịch vụ hỗ trợ nào của bạn đang chạy Node. Sau đó, lập trình viên hoặc nhà cung cấp cần truy vết xem mã nguồn có giải nén dữ liệu Brotli nhận từ bên ngoài hệ thống hay không. Việc bật nén Brotli cho phản hồi gửi đi tại CDN hoặc edge, tự nó, không đủ để kết luận có bị ảnh hưởng. Các sản phẩm khác cũng có thể tích hợp sẵn thư viện Brotli. Nếu website của bạn chạy WordPress, PHP hoặc nền tảng khác, hãy hỏi nhà cung cấp những thành phần nào có thể chứa Brotli và kiểm tra thông báo của chính các nhà cung cấp đó. Bài viết này không kiểm chứng các thành phần đó.
Danh sách kiểm tra cho chủ website và nhà cung cấp
- Ghi lại vị trí từng tiến trình Node.js, phiên bản đang chạy chính xác, image hoặc bản build nguồn, và tên người chịu trách nhiệm vá.
- Xem đây là bản vá cho môi trường chạy. Cập nhật CMS hay gói phụ thuộc (dependency) npm không thay thế được bản phát hành Node.js.
- Trên nền tảng được quản lý (managed), hãy hỏi ai cập nhật môi trường chạy hoặc image gốc (base image) và bạn sẽ nhận bằng chứng gì. Phạm vi mỗi nhà hosting khác nhau.
- Trước khi triển khai đã được phê duyệt, xác nhận có bản sao lưu hiện hành, quy trình khôi phục đã kiểm thử và phương án dự phòng. Bài quy tắc sao lưu mô tả thế nào là một bản khôi phục dùng được.
- Kiểm thử trên môi trường thử nghiệm (staging) và chạy các luồng chính trước.
- Dựng lại (rebuild) hoặc triển khai lại (redeploy) image hay dịch vụ theo yêu cầu của nền tảng, rồi xác nhận phiên bản mà tiến trình đang chạy báo cáo trên mọi máy chủ hoặc phiên bản triển khai (instance) liên quan sau khi kích hoạt. Trình cài đặt hay tệp lockfile không phải bằng chứng.
- Ghi lại phiên bản đã kiểm tra và ngày triển khai.
- Kiểm tra các chức năng quan trọng của website, API, biểu mẫu (form) và tiến trình chạy nền bằng dữ liệu thử, không phát sinh giao dịch thật, rồi theo dõi tỷ lệ lỗi. Bài giám sát vượt ngoài uptime nêu những gì cần theo dõi.
Nếu có dấu hiệu bất thường
Hãy giữ nguyên các log hiện có và yêu cầu rà soát bởi người có chuyên môn. Bản cập nhật xử lý điểm yếu đã nêu. Nó không rà soát hay xóa bỏ truy cập có thể đã xảy ra trước đó, nên việc rà soát này cần được xem là một bước riêng.
Kiểm tra tính đến ngày 30/10/2026.