MEDIUM🇬🇧 English

CVE-2026-33993

CVSS 6.9v4.0pub. 2026-03-27upd. 2026-04-01

Locutus przynosi standardowe biblioteki innych języków programowania do JavaScriptu w celach edukacyjnych. Przed wersją 3.0.25 funkcja `unserialize()` w `locutus/php/var/unserialize` przypisuje klucze deserializowanych obiektów do zwykłych obiektów za pomocą notacji nawiasów bez filtrowania klucza `__proto__`. Gdy PHP serialized payload zawiera `__proto__` jako klucz tablicy lub obiektu, wywoływany jest setter `__proto__` JavaScriptu, zastępujący prototyp deserializowanego obiektu zawartością kontrolowaną przez atakującego. Umożliwia to property injection, propagację wstrzykniętych właściwości poprzez for...in i denial of service poprzez przesłonięcie metod wbudowanych. Wersja 3.0.25 załatuje podatność.

Pokaż oryginał (EN)

Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Prior to version 3.0.25, the `unserialize()` function in `locutus/php/var/unserialize` assigns deserialized keys to plain objects via bracket notation without filtering the `__proto__` key. When a PHP serialized payload contains `__proto__` as an array or object key, JavaScript's `__proto__` setter is invoked, replacing the deserialized object's prototype with attacker-controlled content. This enables property injection, for...in propagation of injected properties, and denial of service via built-in method override. This is distinct from the previously reported prototype pollution in `parse_str` (GHSA-f98m-q3hr-p5wq, GHSA-rxrv-835q-v5mh) — `unserialize` is a different function with no mitigation applied. Version 3.0.25 patches the issue.

CVSS Vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/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:X
  • Locutus

    APP
    Locutus
    < 3.0.25
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
DoSDeserialization
CWE
Referencje

Powiązane podatności

CVE-2026-32304CRITICAL9.8PL ✓ten sam produkt

Locutus: RCE w funkcji create_function() przez brak sanityzacji danych wejściowych

CVE-2026-25521CRITICAL9.4PL ✓ten sam produkt

Prototype pollution w bibliotece Locutus (JavaScript stdlibs)

CVE-2020-7719CRITICAL9.8PL ✓ten sam produkt

Prototype Pollution w pakiecie Locutus (php.strings.parse_str)

CVE-2026-29091HIGH8.1ten sam produkt

Locutus brings stdlibs of other programming languages to JavaScript for educational purposes. Prior to version...

CVE-2026-33994MEDIUM6.3ten sam produkt

Locutus zawiera standardowe biblioteki innych języków programowania dla JavaScript w celach edukacyjnych. Od w...