CVE-2026-63376 toml-node: Prototype Pollution Leads to `Object.prototype` Corruption via `__proto__` Key-Path Desynchronization
Attackers can pollute Object.prototype via crafted TOML input, potentially leading to code execution or denial of service in applications using the library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-63376?
CVE-2026-63376 is a high-severity unsafe deserialization vulnerability in BinaryMuse toml-node, published on 3 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
toml-node is a TOML parser for Node.js and the browser. Prior to 4.1.2, toml.parse() in lib/compiler.js can be tricked by a table path such as a.b.y.__proto__.__proto__, allowing traversal from a scalar value into Number.prototype and Object.prototype. The currentPath tracking value uses both arrays and strings, so valueAssignments records a comma-joined path such as a,b.y while deepRef checks the dot-joined path a.b.y, allowing the duplicate-key guard to miss and attacker-controlled keys to be written to Object.prototype. A table-array prefix-clearing path in addTableArray can also erase guard state before the same __proto__ traversal. Injected properties become visible throughout the Node.js process and can cause denial of service, logic or authorization bypass, or code execution when an application contains a suitable gadget. This issue is fixed in version 4.1.2.
Weakness: CWE-1321
Which versions are affected by CVE-2026-63376?
2 open source packages ship an affected version, including toml.
| Package | Affected | Fixed in |
|---|---|---|
toml npm | All versions | 4.1.2 |
toml npm | All versions | 4.1.2 |
How do I fix CVE-2026-63376?
Upgrade toml to 4.1.2 or later.
Upgrade, and only deserialise data from trusted sources or with an allow-list of types. More about Unsafe deserialization.
Is CVE-2026-63376 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-63376 exists.
Sources
Also known as CLEANSTART-2026-GB44071, ECHO-5068-33f0-0422, GHSA-v5mp-jgw5-2x6j, MINI-v5xf-x5r4-hmp5, ROOT-APP-NPM-CVE-2026-63376.