Ngày 11/11/2026, dự án Node.js phát hành đồng loạt 3 bản vá bảo mật cho cả 3 dòng đang được hỗ trợ: 26.13.1, 24.22.3 và 22.23.5. Đợt vá này sửa 16 lỗ hổng, trong đó 7 lỗi mức High, tập trung ở HTTP/2 và TLS — phần code mà hầu hết server Node.js công khai đều dùng. Lỗi nghiêm trọng nhất, CVE-2026-123864, có thể khiến server rò rỉ bộ nhớ của các kết nối khác, kể cả private key TLS, cho một client chưa hề đăng nhập.
Đây là một trong những đợt vá lớn nhất của Node.js trong năm 2026 — nhiều lỗi chỉ cần một request bình thường từ client lạ là khai thác được, không cần tài khoản.
Các bản vá cần cài
Mỗi dòng được hỗ trợ nhận đúng một bản vá, chỉ sửa lỗi và cập nhật dependency:
- Node.js 26.13.1 ‘Lithium’ — dòng LTS mới (lên LTS ngày 28/10/2026).
- Node.js 24.22.3 ‘Krypton’ — dòng LTS trước đó, đang ở giai đoạn Maintenance.
- Node.js 22.23.5 ‘Jod’ — dòng LTS bảo trì, hỗ trợ tới 30/4/2027.
7 lỗi mức High
Bảy lỗi High hầu hết là lỗi quản lý bộ nhớ khi đóng kết nối hoặc stream.
- CVE-2026-123864 (cả 3 dòng) — nghiêm trọng nhất: một lần ghi TLS 0 byte trong lúc parser vẫn đang đọc body có thể khiến parser chạy lại giữa chừng, và server sao chép bộ nhớ heap không liên quan — có thể gồm private key TLS — vào body trả về. Muốn khai thác, handler phải gọi
res.flushHeaders()rồires.end()với chunk không rỗng, kèm route echo request body. Server HTTP thường không bị ảnh hưởng. - Các lỗi High còn lại — CVE-2026-123863, CVE-2026-123872, CVE-2026-123866, CVE-2026-123874, CVE-2026-126051 — gồm stream HTTP/2 sống lâu hơn session gây sập process, đổi SNI khi resume TLS 1.2 để qua mặt chính sách host khác, và use-after-free khi hủy stream
respondWithFile()giữa lúc ghi.
Lỗi Medium và Low
Nhóm Medium gồm lỗi tràn heap 1 byte trong altsvc(), dữ liệu HTTP/2 vượt giới hạn maxSessionMemory, và hai lỗi tin cậy về SNI/CA. Ba lỗi Low liên quan Permission Model và một lỗi crash zlib.
5 lỗi được tìm nhờ AI
5 trong 16 lỗi được tìm ra nhờ nhà nghiên cứu Chris Rohlf hợp tác cùng Claude và Anthropic Research; chưa có báo cáo khai thác nào.
Điều này có ý nghĩa gì với bạn
Nếu service của bạn tự kết thúc TLS hoặc HTTP/2 ngay trong Node.js, hãy coi đây là bản vá khẩn: nâng cấp lên đúng bản của dòng mình đang chạy rồi restart process, và rebuild lại Docker image. App đứng sau reverse proxy kết thúc TLS thì ít bị ảnh hưởng hơn, nhưng HTTP/2 giữa proxy và Node.js vẫn chạm tới code lỗi. Còn nếu bạn vẫn chạy Node.js 20: dòng này đã hết hỗ trợ từ 30/4/2026 và không nhận bản vá nào — lên 24 hoặc 26 trong tuần này.
node -v# 26.x -> 26.13.1 | 24.x -> 24.22.3 | 22.x -> 22.23.5
Bài viết liên quan
- Node.js 26.11 ra mắt: flag –process-timeout tự bắt process treo và cho bạn biết lý do
- Node.js 22.23.3 LTS ra mắt: vá lỗi bộ nhớ HTTP/2 nguy hiểm, ai chạy Node 22 nên cập nhật
Câu hỏi thường gặp
Tôi đang chạy Node.js phiên bản nào thì cần nâng cấp?
Tất cả các bản 22.x trước 22.23.5, 24.x trước 24.22.3 và 26.x trước 26.13.1 đều bị ảnh hưởng. Chạy node -v để kiểm tra rồi nâng cấp đúng bản vá của dòng bạn đang dùng.
Có cách nào khác ngoài nâng cấp không?
Không. Dự án Node.js không công bố workaround cho bất kỳ lỗi nào trong 16 lỗi này — nâng cấp là cách duy nhất để đóng chúng.
Tôi vẫn chạy Node.js 20 thì sao?
Node.js 20 đã hết hỗ trợ từ 30/4/2026 và không nhận bản vá. Hãy lên Node.js 24 hoặc 26 trong tuần này.
💬 Tin này ảnh hưởng tới dự án của bạn thế nào? Chia sẻ góc nhìn của bạn trong phần bình luận — mình đọc hết và sẽ tổng hợp những ý hay nhất.
