Node.js Vá 12 Lỗ Hổng Bảo Mật Nghiêm Trọng: Cập Nhật Khẩn Cấp!

Node.js Vá 12 Lỗ Hổng Bảo Mật Nghiêm Trọng: Cập Nhật Khẩn Cấp!

Node.js vừa phát hành một bản cập nhật bảo mật quan trọng, khắc phục 12 lỗ hổng bảo mật trên các phiên bản được hỗ trợ. Đáng chú ý, bản cập nhật này giải quyết hai lỗ hổng nghiêm trọng có khả năng dẫn đến tấn công bypass xác thực và tấn công từ chối dịch vụ (DoS).

Chi tiết các lỗ hổng bảo mật nghiêm trọng

CVE-2026-48618: Bypass xác thực TLS thông qua xử lý ký tự Unicode không đúng cách

Lỗ hổng này liên quan đến việc xử lý không đúng cách các ký tự dấu chấm Unicode trong quá trình xác minh tên máy chủ TLS. Nó tạo ra sự không nhất quán trong việc chuẩn hóa tên máy chủ giữa trình phân giải (resolver) và trình xác minh (verifier).

Khả năng khai thác của lỗ hổng này cho phép kẻ tấn công vượt qua cơ chế xác thực chứng chỉ wildcard của TLS. Trong một số cấu hình nhất định, điều này có thể dẫn đến truy cập trái phép hoặc làm lộ tính bảo mật của các giao tiếp an toàn, đặc biệt nguy hiểm đối với các ứng dụng dựa vào việc xác thực chứng chỉ nghiêm ngặt.

CVE-2026-48933: Tấn công từ chối dịch vụ (DoS) thông qua tràn số nguyên trong WebCrypto API

Một lỗ hổng nghiêm trọng khác ảnh hưởng đến WebCrypto API của Node.js. Vấn đề phát sinh từ một điều kiện tràn số nguyên (integer overflow) khi dữ liệu đầu vào cho hàm subtle.encrypt() có kích thước là bội số của 2 GiB.

Việc khai thác thành công lỗ hổng này có thể gây ra sự cố crash tiến trình từ xa, dẫn đến tình trạng từ chối dịch vụ (DoS) trong các ứng dụng bị ảnh hưởng. Lỗ hổng này nhấn mạnh các rủi ro tiềm ẩn trong việc triển khai mật mã khi xử lý các đầu vào có kích thước lớn hoặc được định dạng sai.

CVE-2026-48934: Bypass xác minh danh tính máy chủ TLS thông qua tái sử dụng phiên

Lỗ hổng này cho phép kẻ tấn công vượt qua quá trình xác minh danh tính máy chủ TLS bằng cách sử dụng lại một phiên (session reuse) với một tên máy chủ khác. Điều này có thể dẫn đến việc thiết lập các kết nối trái phép nếu các tham số phiên không được quản lý đúng cách.

CVE-2026-48928: Bypass ủy quyền Mutual TLS (mTLS) thông qua khớp tên máy chủ nhạy cảm với trường hợp

Lỗ hổng này liên quan đến việc khớp tên máy chủ nhạy cảm với trường hợp (case-sensitive) trong ngữ cảnh SNI. Nó có khả năng cho phép bỏ qua cơ chế ủy quyền Mutual TLS (mTLS) trong các triển khai đa ngữ cảnh.

CVE-2026-48930: Tái định danh thẩm quyền ngầm định do lỗi cắt bớt trình phân giải

Trong lỗ hổng này, các byte null nhúng trong tên máy chủ có thể dẫn đến việc tái định danh thẩm quyền một cách ngầm định (silent authority rebinding) do các vấn đề cắt bớt dữ liệu trong trình phân giải.

CVE-2026-48619: Tràn bộ nhớ không giới hạn trên HTTP/2 client

Lỗ hổng này đặt các client HTTP/2 vào nguy cơ tràn bộ nhớ không giới hạn khi xử lý các khung ORIGIN do kẻ tấn công kiểm soát. Điều này có thể dẫn đến cạn kiệt tài nguyên hệ thống.

CVE-2026-48615: Rò rỉ thông tin xác thực proxy qua thông báo lỗi

Một lỗ hổng với mức độ nghiêm trọng trung bình có thể làm lộ thông tin xác thực proxy thông qua các thông báo lỗi khi sử dụng các kênh proxy. Nếu thông tin xác thực được nhúng trong URL proxy, chúng có thể bị lộ qua nhật ký hoặc đầu ra chẩn đoán, làm tăng nguy cơ bị chiếm đoạt thông tin đăng nhập.

Các lỗ hổng mức độ thấp

Bản cập nhật cũng bao gồm các bản sửa lỗi cho nhiều lỗ hổng bypass mô hình quyền hạn, bao gồm:

  • CVE-2026-48617 và CVE-2026-48935: Cho phép truy cập không mong muốn vào các đường dẫn tệp bị hạn chế hoặc sửa đổi siêu dữ liệu.
  • CVE-2026-48936: Cho phép máy chủ socket miền Unix bỏ qua các hạn chế về quyền truy cập mạng trong các điều kiện cụ thể.
  • CVE-2026-48931: Một điều kiện tranh chấp (race condition) trong tác nhân HTTP có thể cho phép đầu độc hàng đợi phản hồi (response queue poisoning), nơi client chấp nhận phản hồi trước khi gửi yêu cầu.

Cập nhật các thành phần phụ thuộc quan trọng

Bản phát hành mới nhất của Node.js cũng bao gồm các bản cập nhật quan trọng cho các thành phần phụ thuộc để giảm thiểu các lỗ hổng đã biết trong các thư viện bên thứ ba. Các gói được cập nhật bao gồm:

  • llhttp phiên bản 9.4.2
  • nghttp2 phiên bản 1.69.0
  • OpenSSL phiên bản 3.5.7
  • Nhiều phiên bản của trình khách HTTP undici trên các dòng phát hành khác nhau.

Khuyến nghị bảo mật

Các chuyên gia bảo mật khuyến nghị mạnh mẽ việc cập nhật lên các phiên bản đã vá lỗi mới nhất để giảm thiểu các rủi ro này. Các phiên bản được khuyến nghị bao gồm:

  • Node.js v22.23.0
  • Node.js v24.17.0
  • Node.js v26.3.1

Tương tự như các bản phát hành trước, các phiên bản đã hết vòng đời (end-of-life) vẫn còn lỗ hổng và không nên được sử dụng trong môi trường sản xuất. Việc duy trì các môi trường runtime cập nhật là cực kỳ quan trọng, đặc biệt đối với các nền tảng được triển khai rộng rãi như Node.js, vốn là xương sống của các ứng dụng web và API hiện đại.

Để cập nhật thông tin mới nhất về các cảnh báo CVE và các mối đe dọa an ninh mạng, bạn có thể tham khảo các nguồn đáng tin cậy như NVD (National Vulnerability Database) tại NVD.