Lỗ hổng vm2 được đặt là CVE-2022-36067 và nhận được xếp hạng mức độ nghiêm trọng là 10.0, điểm tối đa trong hệ thống CVSS, vì nó có thể cho phép những kẻ tấn công thoát khỏi môi trường sandbox và chạy lệnh trên hệ thống máy chủ.
Sandbox có nghĩa là một môi trường biệt lập được ngăn cách với phần còn lại của hệ điều hành. Tuy nhiên, vì các nhà phát triển thường sử dụng sandbox để chạy hoặc kiểm tra mã không an toàn tiềm ẩn, khả năng "thoát" khỏi môi trường hạn chế này và thực thi mã trên máy chủ là một vấn đề bảo mật lớn.
Các nhà nghiên cứu bảo mật tại Oxeye đã tìm ra một cách thông minh để tùy chỉnh stack cuộc gọi của một lỗi xảy ra trong VM2 để tạo các đối tượng “CallSite” được tạo bên ngoài sandbox và sử dụng chúng để truy cập các đối tượng toàn cục của Node và thực thi các lệnh.
Trong khi các tác giả của thư viện đã cố gắng giảm thiểu khả năng này trong quá khứ, các nhà nghiên cứu của Oxeye đã tìm ra cách để vượt qua cơ chế giảm thiểu này bằng cách sử dụng triển khai tùy chỉnh của phương pháp "readyStackTrace".
Các nhà nghiên cứu giải thích trong báo cáo của họ: "POC của người báo cáo đã bỏ qua logic ở trên vì vm2 đã bỏ lỡ gói các phương pháp cụ thể liên quan đến kiểu tích hợp JavaScript" WeakMap "".
"Điều này cho phép kẻ tấn công cung cấp triển khai "prepareStackTrace," của riêng họ, sau đó kích hoạt lỗi và thoát khỏi sandbox."
Quá trình thoát sandbox
(Oxeye)
Các nhà phân tích nhận thấy rằng cũng có thể ghi đè đối tượng Lỗi chung bằng một đối tượng tùy chỉnh triển khai chức năng “readyStackTrace”, truy cập lại các đối tượng “CallSite” được tạo bên ngoài sandbox và chạy các lệnh trong quy trình hiện tại.
Ghi đè đối tượng Lỗi và truy cập các đối tượng CallSite (Oxeye)
Nhóm nghiên cứu của Oxeye đã phát hiện ra vấn đề nghiêm trọng này vào ngày 16 tháng 8 năm 2022 và báo cáo nó với nhóm VM2 vài ngày sau đó, họ xác nhận rằng họ đã mở một cuộc điều tra.
Cuối cùng, các tác giả của thư viện phổ biến đã phát hành phiên bản 3.9.11 vào ngày 28 tháng 8 năm 2022, giải quyết vấn đề thoát khỏi sandbox và thực thi mã.
Các nhà phát triển phần mềm được khuyến khích cập nhật lên phiên bản VM2 mới nhất và thay thế các bản phát hành cũ hơn trong các dự án của họ càng sớm càng tốt.
Đối với người dùng cuối, điều quan trọng cần lưu ý là có thể mất một khoảng thời gian trước khi các công cụ phần mềm ảo hóa dựa trên VM2 áp dụng bản cập nhật bảo mật có sẵn.
Như chúng ta đã thấy với Log4Shell, một vấn đề bảo mật nghiêm trọng trong thư viện mã nguồn mở được triển khai rộng rãi có thể tồn tại trong thời gian dài mà người dùng không bị ảnh hưởng dù biết rằng họ dễ bị tấn công do chuỗi cung ứng bị che khuất.
Nếu bạn sử dụng giải pháp sandbox, hãy kiểm tra xem nó có dựa trên VM2 hay không và liệu nó có đang sử dụng phiên bản mới nhất hay không.
Nguồn: BleepingComputer.com
All Rights Reserved | John&Partners LLC.