Theo công bố mới nhất từ dự án vm2 trên GitHub, có tới 11 lỗ hổng bảo mật ảnh hưởng đến tất cả phiên bản vm2 từ 3.11.1 trở về trước. Đáng lo ngại, toàn bộ các lỗi này đều cho phép tin tặc thoát khỏi J88vip00 Giải Trí Thể Thao sandbox để thực thi mã tùy ý trên máy chủ gốc, từ đó phá vỡ hoàn toàn mô hình bảo mật cốt lõi mà vm2 theo đuổi suốt nhiều năm qua. Các lỗ hổng được ghi nhận đều có mức độ nghiêm trọng rất cao với điểm CVSS chủ yếu từ 9.1 đến 10.0. Trong đó, có hai lỗ hổng vẫn chưa có bản vá chính thức, làm gia tăng thêm mức độ rủi ro đối với các hệ thống đang triển khai vm2.
Ảnh: Bleeping Computer
Toàn bộ mô hình bảo mật của vm2 được Đăng ký nhận khuyến mãi trên một nguyên tắc đơn giản rằng mã độc chỉ được phép hoạt động trong sandbox và không thể truy cập hệ điều hành thật. Tuy nhiên, các nghiên cứu mới cho thấy lớp cô lập này không còn mang tính tuyệt đối khi có thể bị xuyên thủng thông qua nhiều kỹ thuật khác nhau, trải dài từ thao túng prototype JavaScript, lạm dụng Promise species cho tới khai thác WebAssembly và cơ chế exception mới của Node.js.
Một lỗ hổng đáng chú ý khác là CVE-2026-24781, khai thác mô-đun util của Node.js để thực hiện kiểm tra nội bộ các object, từ đó làm lộ các đối tượng nguyên gốc từ máy chủ. Khi đã truy cập được lớp dữ liệu này, kẻ tấn công có thể vượt qua cơ chế proxy isolation của vm2, phá vỡ hoàn toàn rào chắn giữa sandbox và J88vip00 Giải Trí Thể Thao host.
Không dừng lại ở các API cũ, những cơ chế JavaScript hiện đại cũng trở thành bề mặt tấn công mới. CVE-2026-26332 khai thác sự kết hợp giữa DisposableStack và cơ chế SuppressedError trong Node.js v24 để từng bước làm lộ đối tượng Function từ phía host. Khi đạt được quyền truy cập này, sandbox gần như mất hoàn toàn khả năng J881 ưu đãi hấp dẫn thực thi mã.
Sang Node.js v25, CVE-2026-26956 tiếp tục mở rộng bề mặt tấn công khi lợi dụng lệnh try_table của WebAssembly để vượt qua toàn bộ cơ chế sanitize của vm2. Điểm đáng lo ngại là kỹ thuật này không chỉ dừng ở việc thoát sandbox, mà trong thử nghiệm thực tế đã cho phép thực thi mã ở cấp độ root trên hệ thống.
Song song với đó, nhiều lỗ hổng khác lại tập trung vào chuỗi prototype và cơ chế nạp module của Node.js như CVE-2026-43997 và CVE-2026-44006. Hai lỗ hổng khai thác util.inspect kết hợp prototype traversal để tiếp tục mở đường thoát khỏi sandbox, từng bước đưa mã độc quay trở lại ngữ cảnh host. Trong khi đó, CVE-2026-43999 cho phép vượt qua cơ chế chặn module built-in của vm2 bằng cách gọi trực tiếp Module._load(), ngay cả khi các module nhạy cảm như child_process đã bị chặn trong cấu hình.
Một vấn đề mang tính hệ thống khác là CVE-2026-44005, liên quan đến prototype pollution. Lỗ hổng này cho phép kẻ tấn công sửa đổi các prototype dùng chung như Object.prototype hoặc Function.prototype, từ đó ảnh hưởng không chỉ sandbox mà cả toàn bộ tiến trình Node.js, tạo ra rủi ro lan rộng ngoài phạm vi ban đầu. Bên cạnh đó, một lỗi cấu hình nghiêm trọng được theo dõi với mã GHSA-8hg8-63c5-gwmx cho thấy khi bật tùy chọn nesting: true, cơ chế require: false gần như bị vô hiệu hóa. Điều này cho phép mã độc tạo các VM lồng nhau, vượt qua mọi giới hạn và đạt được thực thi mã từ xa dù sandbox vẫn đang được bật.
Đáng lo ngại nhất là hai lỗ hổng CVE-2026-44008 và CVE-2026-44009 hiện vẫn chưa có bản vá trên các phiên bản đến 3.11.1. Hai lỗi này khai thác cách vm2 xử lý array species cùng logic ngoại lệ, từ đó làm lộ các đối tượng phía host và khôi phục quyền truy cập tới Function constructor, thành phần cốt lõi có thể dẫn tới phá vỡ hoàn toàn cơ chế cô lập và thực thi mã tùy ý trên hệ thống.
Các chuyên gia khuyến nghị quản trị viên cần cập nhật ngay vm2 lên phiên bản 3.11.1 để xử lý các lỗ hổng đã có bản vá, đồng thời tránh sử dụng cấu hình nesting: true hoặc các wildcard built-in kiểu [‘*’, ‘-child_process’] trong J88vip00 Giải Trí Thể Thao chạy mã không tin cậy.
Với những hệ thống yêu cầu mức cô lập cao, các tổ chức nên cân nhắc chuyển sang các cơ chế cách ly ở cấp kernel như Docker, gVisor hoặc Firecracker microVM thay vì tiếp tục phụ thuộc vào sandbox JavaScript.





