Locutus zawiera standardowe biblioteki innych języków programowania dla JavaScript w celach edukacyjnych. Od wersji 2.0.39 do wersji 3.0.25 istnieje podatność prototype pollution w funkcji `parse_str` pakietu npm locutus. Osoba atakująca może zanieczyścić `Object.prototype`, zastępując `RegExp.prototype.test` i przekazując do `parse_str` spreparowany ciąg zapytania, omijając ochronę przed prototype pollution. Podatność wynika z niekompletnej poprawki CVE-2026-25521 — patch zastąpił ochronę opartą na `String.prototype.includes()` ochroną opartą na `RegExp.prototype.test()`, ale `RegExp.prototype.test` jest samo zapisywalną metodą prototype'u, którą można zastępować, co czyni nową ochronę równie podatną na obejście. Wersja 3.0.25 zawiera zaktualizowaną poprawkę.
▸ Pokaż oryginał (EN)
Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Starting in version 2.0.39 and prior to version 3.0.25, a prototype pollution vulnerability exists in the `parse_str` function of the npm package locutus. An attacker can pollute `Object.prototype` by overriding `RegExp.prototype.test` and then passing a crafted query string to `parse_str`, bypassing the prototype pollution guard. This vulnerability stems from an incomplete fix for CVE-2026-25521. The CVE-2026-25521 patch replaced the `String.prototype.includes()`-based guard with a `RegExp.prototype.test()`-based guard. However, `RegExp.prototype.test` is itself a writable prototype method that can be overridden, making the new guard bypassable in the same way as the original — trading one hijackable built-in for another. Version 3.0.25 contains an updated fix.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XLocutus
APPLocutus2.0.39 – 3.0.25 (bez)
Powiązane podatności
Locutus: RCE w funkcji create_function() przez brak sanityzacji danych wejściowych
Prototype pollution w bibliotece Locutus (JavaScript stdlibs)
Prototype Pollution w pakiecie Locutus (php.strings.parse_str)
Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Prior to version...
Locutus przynosi standardowe biblioteki innych języków programowania do JavaScriptu w celach edukacyjnych. Prz...