Lỗ hổng SandboxJS chạm ngưỡng CVSS 10.0, mở đường cho thực thi mã từ xa

WhiteHat Team

Administrators
Thành viên BQT
09/04/2020
128
1.702 bài viết
Lỗ hổng SandboxJS chạm ngưỡng CVSS 10.0, mở đường cho thực thi mã từ xa
Một lỗ hổng nghiêm trọng vừa được phát hiện trong thư viện SandboxJS đã khiến cơ chế sandbox quen thuộc trở nên thiếu tin cậy trong một số kịch bản thực tế. Lỗ hổng mang mã CVE-2026-26954 được chấm điểm CVSS tối đa 10.0, cho thấy mức độ rủi ro đặc biệt cao khi có thể dẫn tới thực thi mã từ xa ngay trên hệ thống chạy ứng dụng.
SandboxJS.png

Sandbox vốn được sử dụng để cô lập mã không tin cậy khỏi môi trường chính, đặc biệt trong các ứng dụng web và Node.js xử lý nội dung động hoặc phụ thuộc bên thứ ba. Tuy nhiên, trong trường hợp này, chính cách SandboxJS xử lý object lại vô tình tạo ra một lối đi để vượt qua các ràng buộc bảo vệ. Điểm yếu không nằm ở một kỹ thuật khai thác phaddức tạp mà đến từ việc lạm dụng các hành vi hợp lệ của JavaScript.

CVE-2026-26954 bắt nguồn từ khả năng truy xuất gián tiếp tới Function constructor thông qua các thao tác JavaScript thông thường. Đây là thành phần cho phép thực thi mã động, nên khi xuất hiện bên trong sandbox, toàn bộ cơ chế cách ly gần như mất hiệu lực.

Theo phân tích, lỗ hổng có thể bị khai thác chỉ bằng những thao tác JavaScript rất quen thuộc như Object.entries hoặc Object.values. Thay vì cần kỹ thuật phức tạp, kẻ tấn công chỉ cần “lần mò” trong dữ liệu sẵn có của sandbox để lấy ra một mảnh ghép quan trọng: tham chiếu tới Function constructor.

Khi thành phần này bị lộ, sandbox gần như mất đi ý nghĩa ban đầu. Từ đây, kẻ tấn công có thể dựng lại các object theo ý muốn bằng Object.fromEntries, qua đó thực thi mã vượt ra ngoài phạm vi kiểm soát của thư viện. Nói cách khác, chỉ từ những API hợp lệ, toàn bộ cơ chế cách ly bị phá vỡ và mở đường cho việc thực thi mã trực tiếp trên hệ thống.

Sau khi vượt qua lớp cách ly, mã độc sẽ chạy với quyền của tiến trình ứng dụng. Điều này cho phép truy cập dữ liệu nhạy cảm, thực thi lệnh hệ thống hoặc mở rộng phạm vi kiểm soát nếu ứng dụng có đặc quyền cao. Trong môi trường production, kịch bản này có thể nhanh chóng leo thang thành một sự cố nghiêm trọng.

CVE-2026-26954 ảnh hưởng tới tất cả các phiên bản SandboxJS từ 0.8.33 trở xuống và đã được khắc phục trong phiên bản 0.8.34. Với mức độ nghiêm trọng cao và cách khai thác không quá phức tạp, việc cập nhật cần được thực hiện càng sớm càng tốt để tránh trở thành cửa ngõ cho các cuộc tấn công xâm nhập hệ thống.

Sự cố lần này một lần nữa cho thấy sandbox không phải là lớp bảo vệ tuyệt đối. Chỉ cần một sai sót trong logic triển khai, các API hợp lệ cũng có thể bị tận dụng để vượt qua toàn bộ cơ chế kiểm soát. Trong bối cảnh phần mềm ngày càng phụ thuộc vào thư viện bên thứ ba, việc rà soát và đánh giá lại các lớp bảo vệ như sandbox cần được đặt đúng mức ưu tiên.​

Theo Security Online
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve-2026-26954 javascript lỗ hổng bảo mật node.js rce sandbox escape sandboxjs thực thi mã từ xa
Bên trên