CVE-2026-33993 in locutus
Tóm tắt
Bởi VulDB • 22/05/2026
Locutus cung cấp các thư viện chuẩn (stdlibs) của các ngôn ngữ lập trình khác sang JavaScript cho mục đích giáo dục. Trước phiên bản 3.0.25, hàm `unserialize()` trong `locutus/php/var/unserialize` gán các khóa đã giải serialize cho các đối tượng thuần túy (plain objects) thông qua ký hiệu ngoặc vuông mà không lọc khóa `__proto__`. Khi một tải trọng (payload) được serialize của PHP chứa `__proto__` dưới dạng khóa mảng hoặc đối tượng, bộ thiết lập (setter) `__proto__` của JavaScript sẽ được kích hoạt, thay thế nguyên mẫu (prototype) của đối tượng đã giải serialize bằng nội dung do kẻ tấn công kiểm soát. Điều này cho phép tiêm thuộc tính, lan truyền thuộc tính đã tiêm qua vòng lặp `for...in`, và gây từ chối dịch vụ (DoS) thông qua việc ghi đè các phương thức tích hợp sẵn. Sự cố này khác biệt với ô nhiễm nguyên mẫu (prototype pollution) đã được báo cáo trước đó trong `parse_str` (GHSA-f98m-q3hr-p5wq, GHSA-rxrv-835q-v5mh) — `unserialize` là một hàm khác và không có biện pháp giảm thiểu nào được áp dụng. Phiên bản 3.0.25 đã vá lỗi này.
If you want to get best quality of vulnerability data, you may have to visit VulDB.