Lỗ hổng Permission Model của Node.js cấp thừa quyền truy cập filesystem

Lưu ý: Dữ liệu này chỉ có tính chất tham khảo, phục vụ nghiên cứu an ninh mạng.CyStack khuyến nghị người dùng không sử dụng các thông tin này nhằm các mục đích bất hợp pháp

Lỗ hổng CVE-2026-58043 là gì?

Lỗ hổng CVE-2026-58043 là lỗ hổng Improper Access Control ảnh hưởng tới node (phiên bản bị ảnh hưởng: 22.23.1 – ≤ 22.23.1, 24.18.0 – ≤ 24.18.0 và các phiên bản bị ảnh hưởng khác). Lỗ hổng này được xếp hạng ở mức Cao, với điểm CVSS 8.4. Các nguồn hiện có chưa ghi nhận lỗ hổng này bị khai thác.

Giới thiệu chung

Dữ liệu gốc

Lỗ hổng trong việc thực thi Node.js Permission Model có thể cấp thừa quyền truy cập filesystem qua các ranh giới prefix của radix-tree. Trong --permission, một attacker được cấp quyền truy cập vào một path có thể lợi dụng việc xử lý boundary để đọc từ hoặc ghi vào các path nằm ngoài filesystem allowlist dự kiến. Lỗ hổng này ảnh hưởng đến Node.js main, 22.x, 24.x và 26.x.

Sản phẩm và phạm vi ảnh hưởng

Node.js project xác nhận các active release lines 22.x, 24.x và 26.x bị ảnh hưởng. Ranh giới phiên bản trong bản ghi và advisory là:

  • Node.js 22.x: 22.23.1 và các phiên bản thấp hơn bị ảnh hưởng; bản phát hành sửa lỗi được xác nhận là 22.23.2.
  • Node.js 24.x: 24.18.0 và các phiên bản thấp hơn bị ảnh hưởng; bản phát hành sửa lỗi được xác nhận là 24.18.1.
  • Node.js 26.x: 26.5.0 và các phiên bản thấp hơn bị ảnh hưởng; bản phát hành sửa lỗi được xác nhận là 26.5.1.
  • Phần mô tả cũng nêu Node.js main bị ảnh hưởng, nhưng không cung cấp revision affected hoặc fixed cụ thể cho nhánh này.

Chi tiết kỹ thuật

Lỗi nằm trong cơ chế thực thi Node.js Permission Model, nơi việc đối chiếu path qua các ranh giới prefix của radix tree có thể cấp quyền vượt quá path đã được cho phép. Khi chạy dưới --permission, attacker đã được cấp quyền cho một path có thể lợi dụng cách xử lý boundary để đọc hoặc ghi vào các path nằm ngoài filesystem allowlist dự kiến.

Đây là lỗi kiểm soát truy cập, thuộc CWE-284. Bản ghi mô tả điều kiện khai thác là local, cần quyền hạn thấp, độ phức tạp thấp và không cần user interaction. Phần thông tin công khai không nêu chính xác cách tạo path hoặc điều kiện boundary cụ thể, vì vậy không thể kết luận về các path mục tiêu ngoài phạm vi đọc hoặc ghi vượt allowlist.

Khả năng khai thác

Khai thác yêu cầu attacker có khả năng chạy hoặc tác động đến một tiến trình Node.js được khởi động với --permission và đã được cấp quyền truy cập filesystem ở một mức nào đó. Đánh giá trong bản ghi phân loại hướng tấn công là local, yêu cầu quyền hạn thấp, độ phức tạp thấp và không cần user interaction.

Bản ghi không đánh dấu lỗ hổng là đã bị khai thác và không xác định public exploit. Mục SSVC được hiển thị trong dữ liệu đã tra cứu ghi nhận exploitation là none tại thời điểm quyết định; thông tin này có phạm vi thời gian và không bảo đảm rằng việc khai thác sẽ không xuất hiện về sau.

Tác động kỹ thuật

Lỗ hổng có thể phá vỡ ranh giới kiểm soát truy cập mà Node.js Permission Model đặt ra giữa path được cho phép và phần còn lại của filesystem. Kết quả kỹ thuật được xác nhận là đọc trái phép hoặc ghi trái phép vào path nằm ngoài allowlist; bản ghi mô tả tác động cao đến confidentiality và integrity, trong khi không xác định tác động đến availability.

Phạm vi có thể thay đổi vì việc truy cập vượt ranh giới có thể ảnh hưởng đến tài nguyên nằm ngoài phạm vi kiểm soát ban đầu của ứng dụng. Tuy nhiên, lỗ hổng không tự chứng minh việc vượt quyền hệ điều hành hoặc đạt quyền quản trị; khả năng truy cập thực tế vẫn bị giới hạn bởi user và quyền filesystem của process. Tác động tổ chức có thể gồm lộ dữ liệu, sửa cấu hình hoặc thay đổi file ứng dụng, tùy deployment.

Tác động đến tổ chức

Các tổ chức dùng Node.js Permission Model như một ranh giới giữa ứng dụng và filesystem có thể bị suy yếu cơ chế cô lập.

  • File dữ liệu, secret, cấu hình hoặc mã nguồn nằm ngoài allowlist có thể bị đọc nếu process identity của Node.js cũng có quyền hệ điều hành tương ứng.
  • File ngoài allowlist có thể bị sửa hoặc ghi đè, tạo rủi ro thay đổi dữ liệu hoặc hành vi ứng dụng.
  • Mức độ ảnh hưởng thực tế phụ thuộc vào user chạy Node.js, quyền filesystem của process và các path được allowlist.
  • Bản ghi không mô tả một breach hoặc nêu nạn nhân cụ thể, nên không thể kết luận rằng dữ liệu của tổ chức nào đã bị truy cập.

Cách khắc phục

  1. Nâng cấp Node.js 22.x lên 22.23.2, Node.js 24.x lên 24.18.1, hoặc Node.js 26.x lên 26.5.1, tùy release line đang sử dụng. Đây là các bản phát hành bảo mật được Node.js project xác nhận có sửa lỗi Permission Model.
  2. Nếu đang dùng Node.js main, chuyển sang một revision được Node.js project xác nhận đã bao gồm bản sửa; dữ liệu hiện có không cung cấp revision cụ thể cho nhánh này.
  3. Kiểm tra lại image, package lock, base image và runtime thực tế sau khi nâng cấp để tránh còn binary Node.js cũ trong môi trường triển khai.
  4. Trong thời gian chưa thể nâng cấp, không xem --permission là ranh giới bảo vệ filesystem duy nhất. Dùng quyền filesystem của hệ điều hành, container hoặc sandbox như biện pháp defense-in-depth, đồng thời giảm dữ liệu nhạy cảm mà process có thể truy cập.
  5. Không có workaround cụ thể nào của vendor được cung cấp trong dữ liệu hiện có. Sau khi vá, rà soát các workload từng chạy code không hoàn toàn tin cậy dưới các phiên bản bị ảnh hưởng.

Cách phát hiện

  1. Kiểm kê mọi binary, container image và runtime Node.js; ghi nhận tiến trình nào được khởi động với --permission.
  2. Xác định filesystem allowlist được áp dụng cho từng tiến trình, cùng với user, service account hoặc workload identity đang chạy tiến trình đó.
  3. Đối chiếu release đang triển khai với các ranh giới affected và fixed được nêu trong affected_summary. Không coi việc bật Permission Model là bằng chứng rằng allowlist đang được thực thi đúng.
  4. Rà soát audit log của hệ điều hành, container hoặc sandbox để tìm các lần tiến trình Node.js đọc hoặc ghi vào path nằm ngoài allowlist dự kiến. Đây là biện pháp giám sát phòng ngừa, không phải IOC được vendor chỉ định.
  5. Việc không thấy sự kiện trong log không chứng minh hệ thống an toàn, đặc biệt nếu filesystem auditing không đầy đủ hoặc dữ liệu log đã bị ghi đè.
Nguồn (27)
Tìm hiểu thêm

Kiểm tra chuyên sâu cùng giải pháp quản lý rủi ro Web toàn diện

Giải pháp CyStack VulnScan liên tục phát hiện tài sản, xác minh lỗ hổng và giúp đội ngũ bảo mật ưu tiên khắc phục cho toàn bộ doanh nghiệp.

Khám phá các giải pháp khác liên quan