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.
CVE-2026-33993
This critical-severity CVE scores 9.8 under NVD CVSS v3. EPSS exploit-prediction score not yet available (the EPSS model rescores nightly; freshly-published CVEs typically appear within 48 hours). GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.8
- EG Score
- 9.8(low)
- EG Risk
- 49(Track)EG Risk 49/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity98% × 45%Exploitation0% × 40%Automatability30% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- —
- EPSS %ILE
- —
- KEV
- Not listed
Published
March 27, 2026
Last Modified
June 17, 2026
Advisory Details (4)
Auto-updated Jul 27, 2026Prototype injection via \_\_proto\_\_ key in unserialize() enables property injection and method override on deserialized objects · Advisory · locutusjs/locutus · GitHub
https://github.com/locutusjs/locutus/security/advisories/GHSA-4mph-v827-f877v3.0.25
Patch available: locutusjs/locutus v3.0.25
https://github.com/locutusjs/locutus/releases/tag/v3.0.25fix: harden php prototype pollution sinks
Patch available: locutusjs/locutus v3.0.25 (PR #597 merged 2026-03-25)
https://github.com/locutusjs/locutus/pull/597commit 345a6211e1e6 (locutusjs/locutus)
Patch available: locutusjs/locutus v3.0.25 (contains commit 345a6211e1e6)
https://github.com/locutusjs/locutus/commit/345a6211e1e6f939f96a7090bfeff642c9fcf9e4Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 1× in last 7d / 1× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
- 2026-07-27 14:19 UTCEG score recompute
Related CVEs(same CWE)
Same CWE
10 shownCWE-1321
Frequently asked(4)
What is CVE-2026-33993?
When was CVE-2026-33993 disclosed?
What is the CVSS score of CVE-2026-33993?
How do I remediate CVE-2026-33993?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-33993
Is Your Infrastructure Affected by CVE-2026-33993?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.