Lỗ hổng Node.js tháng 10/2026: cách kiểm tra và cập nhật
Mục lục9
Ngày 21/10/2026, dự án Node.js phát hành bản vá bảo mật cho ba dòng 22.x, 24.x và 26.x. Đợt này sửa 10 lỗ hổng, trong đó 4 lỗ hổng mức High (cao).
Bài viết dành cho chủ doanh nghiệp và người quản lý không chuyên IT: cách kiểm tra hệ thống có bị ảnh hưởng không, nên hỏi bên phát triển những gì, và phải làm sao khi công ty làm ra hệ thống đã không còn liên lạc được.
Những điểm chính
- Đang dùng Node.js 22, 24 hoặc 26 → cập nhật lên bản đã vá (22.23.4, 24.22.1 hoặc 26.12.1) hoặc mới hơn.
- Đang dùng Node.js 20 trở về trước → sẽ không có bản vá. Bạn cần nâng cấp lên một phiên bản còn được hỗ trợ.
- Thông báo chính thức không đưa ra cách khắc phục tạm thời nào. Cách xử lý là cập nhật lên bản đã vá.
- Node.js 22 dự kiến hết hỗ trợ vào 30/4/2027. Nên lên kế hoạch chuyển phiên bản ngay từ bây giờ.
10
lỗ hổng được vá
4
lỗ hổng mức High
3
dòng bị ảnh hưởng (22, 24, 26)
Giải thích nhanh hai khái niệm
Node.js là nền tảng chạy phần "phía sau" (máy chủ) của rất nhiều website, ứng dụng web và API.
Lỗ hổng bảo mật là "điểm yếu" trong phần mềm mà kẻ xấu có thể lợi dụng để tấn công.
Bản cập nhật Node.js tháng 10/2026 sửa những gì?
Theo thông báo chính thức, cả ba dòng đang được hỗ trợ đều bị ảnh hưởng. Tùy dòng bạn đang dùng, đích cần chuyển đến như sau.
Node.js 26.x Cần cập nhật
Cập nhật lên 26.12.1 trở lên.
Được hỗ trợ đến 30/4/2029 (dự kiến).
Node.js 24.x Cần cập nhật
Cập nhật lên 24.22.1 trở lên.
Được hỗ trợ đến 30/4/2028 (dự kiến).
Node.js 22.x Cần cập nhật
Cập nhật lên 22.23.4 trở lên.
Được hỗ trợ đến 30/4/2027 (dự kiến). Nên lên kế hoạch chuyển sang 24 trở lên.
Node.js 20 trở về trước EOL
Không có bản vá.
Cần nâng cấp lên phiên bản còn hỗ trợ (tốt nhất là 24 hoặc 26).
Trong 10 lỗ hổng có 4 mức High, 3 mức Medium và 3 mức Low. Nói đơn giản, 4 lỗ hổng mức High là:
Giải nén Brotli High
Dữ liệu nén được tạo có chủ đích có thể cho phép kẻ tấn công chạy mã trên máy chủ.
Dòng: 22, 24, 26 · CVE-2026-111497
Kiểm tra chứng chỉ TLS (1) High
Địa chỉ viết bằng chữ số toàn độ rộng (full-width) có thể vượt qua bước xác nhận máy chủ có phải "hàng thật" hay không.
Dòng: 24, 26 · CVE-2026-105483
Kiểm tra chứng chỉ TLS (2) High
Địa chỉ có số 0 ở đầu cũng có thể vượt qua bước kiểm tra này.
Dòng: 22, 24, 26 · CVE-2026-106069
Tra cứu DNS High
Tên chứa ký tự đặc biệt có thể bị cắt ngắn.
Dòng: 22, 24, 26 · CVE-2026-105482
Mã CVE là số hiệu chung trên toàn thế giới cho mỗi lỗ hổng, rất tiện khi trao đổi với bên phát triển.
Không có cách tạm thời: hãy cập nhật
Thông báo không nêu cách khắc phục nào khác ngoài cập nhật. Thông báo cũng nói rõ các phiên bản đã hết hỗ trợ luôn bị coi là bị ảnh hưởng mỗi khi có đợt vá bảo mật. Phiên bản càng cũ, thời gian bị phơi nhiễm càng dài.
5 bước kiểm tra và xử lý
- Xác định có dùng Node.js không
Node.js có thể chạy phía sau website, hệ thống nghiệp vụ hoặc ứng dụng. Nếu không chắc, cách nhanh nhất là hỏi bên phát triển hoặc bảo trì: "Hệ thống của chúng tôi có dùng Node.js không?"
- Kiểm tra phiên bản
Nếu đăng nhập được vào máy chủ, lệnh
node -vsẽ hiện ra dạng "v22.23.3". Con số đầu tiên (ở đây là 22) là dòng phiên bản. - So sánh với Hình 1
Nếu phiên bản cũ hơn bản đã vá thì cần cập nhật. Nếu là 20 trở về trước, cần lên kế hoạch nâng cấp.
- Thử cập nhật trên môi trường kiểm thử
Chuyển sang bản đã vá ở một nơi tách biệt với môi trường thật, rồi kiểm tra các công việc hằng ngày vẫn chạy: màn hình, nhập dữ liệu, gửi email.
- Cập nhật môi trường thật và lên kế hoạch tiếp
Chuyển đổi vào giờ ít người dùng. Đồng thời lên kế hoạch chuyển sang dòng mới trước khi dòng hiện tại hết hỗ trợ.
Chỉ dùng Node.js để build giao diện?
Một số dự án chỉ dùng Node.js để build phần giao diện, không chạy trên máy chủ. Dù vậy, vẫn nên giữ phiên bản đó luôn được cập nhật.
Lịch hỗ trợ Node.js và việc cần làm với từng phiên bản
Mỗi dòng Node.js có ngày hết hỗ trợ cố định; sau ngày đó sẽ không còn bản vá. Lịch chính thức như sau (có thể thay đổi).
| Dòng | Trạng thái | Hết hỗ trợ | Việc cần làm ngay |
|---|---|---|---|
| Node.js 26 | Còn hỗ trợ | 30/4/2029 (dự kiến) | Cập nhật lên 26.12.1 trở lên |
| Node.js 24 | Còn hỗ trợ | 30/4/2028 (dự kiến) | Cập nhật lên 24.22.1 trở lên |
| Node.js 22 | Còn 6 tháng | 30/4/2027 (dự kiến) | Cập nhật lên 22.23.4 trở lên và lên kế hoạch chuyển sang 24+ |
| Node.js 20 | EOL | 30/4/2026 (đã hết) | Không có bản vá. Bắt buộc nâng cấp |
| Node.js 18 trở về trước | EOL | Đã hết (18 hết ngày 30/4/2025) | Không có bản vá. Nên nâng cấp sớm |
EOL (End of Life) nghĩa là hết hỗ trợ.
Xếp theo thời gian, các mốc như sau:
- Node.js 18 hết hỗ trợ
- Node.js 20 hết hỗ trợ. Từ đây không còn bản vá
- Phát hành bản vá bảo mật (22.23.4, 24.22.1, 26.12.1)
- Node.js 22 hết hỗ trợ (dự kiến)
- Node.js 24 hết hỗ trợ (dự kiến)
- Node.js 26 hết hỗ trợ (dự kiến)
Nhịp phát hành sắp thay đổi
Từ Node.js 27, phiên bản lớn mới dự kiến ra mỗi năm một lần. Cách chọn phiên bản sẽ thay đổi đôi chút, nên quyết định cùng bên bảo trì sẽ yên tâm hơn.
Lịch hết hỗ trợ của Java, Python, .NET và hệ điều hành máy chủ được tổng hợp trong bài bảo mật hệ thống cũ: bắt đầu từ đâu. Cảnh báo về Java cùng tuần xem tại bài cảnh báo lỗ hổng Java tháng 10/2026.
Cập nhật và nâng cấp khác nhau thế nào?
Cập nhật (vá lỗi)
Lên bản mới hơn trong cùng một dòng, ví dụ 24.22.0 → 24.22.1. Thường là việc nhỏ.
Nâng cấp
Chuyển sang dòng mới, ví dụ 16 → 24. Các thư viện mà mã nguồn sử dụng thường cũng phải nâng cấp theo, nên khối lượng công việc lớn hơn.
Một đợt nâng cấp thường diễn ra như sau:
Thời gian và chi phí phụ thuộc nhiều vào quy mô hệ thống và độ cũ của phiên bản. Khảo sát trước sẽ giúp bạn thấy rõ toàn bộ khối lượng công việc.
Để nguyên hay xử lý?
Nếu để nguyên
- Các điểm yếu đã công bố, kể cả 4 lỗ hổng mức High, vẫn còn đó
- Với bản 20 trở về trước, cả những lỗ hổng phát hiện sau này cũng không được vá
- Chỉ đến khi có sự cố mới vội vàng điều tra
Nếu cập nhật và nâng cấp có kế hoạch
- Cả 10 lỗ hổng của đợt này được vá
- Tiếp tục nhận bản vá cho đến ngày hết hỗ trợ
- Chủ động tiến hành theo ngân sách và lịch làm việc
Những câu nên hỏi bên phát triển hoặc bảo trì
- Hệ thống của chúng tôi đang dùng Node.js phiên bản nào?
- Khi nào có thể cập nhật lên bản vá tháng 10/2026 (22.23.4, 24.22.1 hoặc 26.12.1)?
- Có thư viện nào đã cũ hoặc có rủi ro không?
- Sau khi cập nhật, các bạn kiểm tra hoạt động bằng cách nào?
- Phiên bản hiện tại hết hỗ trợ khi nào, và kế hoạch đến lúc đó là gì?
Những tình huống thường gặp
Không liên lạc được bên làm hệ thống
Trước tiên, kiểm tra xem công ty có giữ mã nguồn, tài khoản máy chủ và cloud, thông tin đăng ký tên miền không. Có những thứ này, một công ty khác có thể tiếp nhận và kiểm tra.
Không có tài liệu
Không có tài liệu thì đọc mã nguồn vẫn biết hệ thống làm gì. Trong quá trình đó có thể dựng lại danh sách chức năng và luồng dữ liệu.
Người phụ trách đã nghỉ việc
Chỉ cần ghi lại màn hình nào, ai dùng, cho công việc gì là việc bàn giao đã suôn sẻ hơn nhiều.
Bị bảo "quá cũ, không cập nhật được"
Phiên bản cũ thường vẫn có thể đưa lên bản mới bằng cách thay dần từng thư viện. Trước khi bỏ cuộc, hãy hỏi thêm ý kiến bên khác.
Digi Dinos có thể giúp gì?
Digi Dinos là công ty phần mềm có văn phòng tại Việt Nam và Nhật Bản. Trong 8 năm, chúng tôi đã thực hiện hơn 150 dự án, với đội ngũ làm việc được bằng tiếng Nhật.
- Tiếp nhận bảo trì hệ thống có sẵn trên mọi nền tảng phổ biến: Node.js, Java, PHP, Python, Ruby, .NET…
- Xử lý lỗ hổng mới công bố: khi có bản vá như lần này, chúng tôi đánh giá ảnh hưởng và áp dụng bản sửa.
- Nâng cấp toàn diện: ngôn ngữ, framework, máy chủ và hệ điều hành.
- Không có tài liệu cũng không sao: kể cả khi nhà cung cấp cũ đã không còn và không ai hiểu hệ thống, chúng tôi tự đọc mã nguồn, dựng lại tài liệu và đề xuất kế hoạch hoàn chỉnh.
- Bảo hành vĩnh viễn: nếu phát hiện lỗi ở phần chúng tôi đã sửa, chúng tôi chịu trách nhiệm sửa, không giới hạn thời gian chừng nào hợp đồng bảo trì còn tiếp tục.
Chưa rõ Node.js của bạn có bị ảnh hưởng? Cứ hỏi chúng tôi.
Từ kiểm tra phiên bản, áp dụng bản vá đến lên kế hoạch nâng cấp, kể cả với hệ thống không có tài liệu.
Câu hỏi thường gặp
Tôi không biết công ty mình có dùng Node.js không.
Hỏi bên phát triển hoặc bảo trì là chắc chắn nhất. Nếu không liên lạc được, chỉ cần có mã nguồn và thông tin máy chủ, chúng tôi có thể kiểm tra giúp bạn.
Cập nhật có làm website hay hệ thống ngừng chạy không?
Có thể gián đoạn vài phút đến vài chục phút khi chuyển đổi, nhưng làm vào giờ ít người dùng sẽ giảm ảnh hưởng. Điều quan trọng là thử trước trên môi trường kiểm thử.
Có thể tiếp tục dùng Node.js 20 không?
Chúng tôi không khuyến khích. Node.js 20 đã hết hỗ trợ ngày 30/4/2026 và sẽ không có bản vá như lần này. Các lỗ hổng phát hiện từ nay về sau sẽ không được sửa.
Chi phí khoảng bao nhiêu?
Tùy quy mô và độ cũ của hệ thống, nên chúng tôi khảo sát trước rồi báo giá. Kế hoạch và chi phí sẽ được giải thích rõ ràng, dễ hiểu.