CVE-2026-33993
Critical · 9.8CVSS
9.8
EPSS
0.8%
Published
Mar 27, 2026
CISA due date
—
The record
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.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| npm | locutus | 0 | 3.0.25 |
Related vulnerabilities
- GHSA-4mph-v827-f877 Locutus has Prototype Pollution via __proto__ Key Injection in unserialize() Same vulnerability
- CVE-2026-33994 Locutus brings stdlibs of other programming languages to JavaScript for educational… Also affects locutus
- GHSA-vc8f-x9pp-wf5p Locutus Prototype Pollution due to incomplete fix for CVE-2026-25521 Also affects locutus
- CVE-2026-32304 Locutus brings stdlibs of other programming languages to JavaScript for educational… Also affects locutus
- GHSA-vh9h-29pq-r5m8 Locutus vulnerable to RCE via unsanitized input in create_function() Also affects locutus
- CVE-2026-29091 Locutus brings stdlibs of other programming languages to JavaScript for educational… Also affects locutus
- GHSA-fp25-p6mj-qqg6 locutus call_user_func_array vulnerable to Remote Code Execution (RCE) due to Code… Also affects locutus
- CVE-2026-25521 Locutus brings stdlibs of other programming languages to JavaScript for educational… Also affects locutus