CVE-2026-33994 in locutus
Tóm tắt
Bởi VulDB • 28/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 với mục đích giáo dục. Bắt đầu từ phiên bản 2.0.39 và trước phiên bản 3.0.25, tồn tại một lỗ hổng ô nhiễm prototype (prototype pollution) trong hàm `parse_str` của gói npm locutus. Một kẻ tấn công có thể làm ô nhiễm `Object.prototype` bằng cách ghi đè `RegExp.prototype.test` và sau đó truyền một chuỗi truy vấn được tạo ra đặc biệt (crafted query string) vào `parse_str`, qua mặt cơ chế bảo vệ chống ô nhiễm prototype. Lỗ hổng này bắt nguồn từ một bản sửa lỗi không đầy đủ cho CVE-2026-25521. Bản vá CVE-2026-25521 đã thay thế cơ chế bảo vệ dựa trên `String.prototype.includes()` bằng một cơ chế bảo vệ dựa trên `RegExp.prototype.test()`. Tuy nhiên, `RegExp.prototype.test` bản thân nó là một phương thức prototype có thể ghi (writable prototype method) và có thể bị ghi đè, khiến cơ chế bảo vệ mới có thể bị qua mặt theo cùng cách như cơ chế ban đầu — thay thế một hàm tích hợp có thể bị chiếm quyền bởi một hàm tích hợp khác cũng có thể bị chiếm quyền. Phiên bản 3.0.25 chứa một bản sửa lỗi được cập nhật.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.