Vulnerability · Published Sep 2, 2026 · Assigned by GitHub_M
CVE-2026-82404TOON: Prototype pollution when decoding untrusted TOON input
High 8.3
In plain English
A high-severity prototype pollution in toon from toon-format. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.7% (higher than 52% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
TOON is a compact, human-readable serialization of JSON data for LLM prompts. Prior to 2.3.1, decoding attacker-controlled TOON with a __proto__, constructor, or prototype key wrote through the object prototype chain instead of creating an own property, polluting Object.prototype for the runtime. In packages/toon/src/decode/expand.ts, the expandPaths: 'safe' path and insertPathSafe function made dotted keys such as a.__proto__.x the strongest vector, while plain nested objects, tabular rows, quoted keys, and streaming decode were also affected. The encoder also dropped own __proto__ properties and could invoke an inherited setter during normalization. Services that decode untrusted TOON could experience denial of service or, when a suitable downstream gadget is present, remote code execution. This issue is fixed in version 2.3.1.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | @toon-format/toon | 2.3.1 | GHSA-p95v-992w-h6c3 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| toon-format | toon | < 2.3.1 |
Weakness: CWE-1321 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L
References
- https://github.com/toon-format/toon/security/advisories/GHSA-p95v-992w-h6c3 x_refsource_CONFIRM
- https://github.com/toon-format/toon/pull/316 x_refsource_MISC
- https://github.com/toon-format/toon/commit/94a2b7560b2b5ed903a4d466a3bce8b13daa2660 x_refsource_MISC
- https://github.com/toon-format/toon/releases/tag/v2.3.1 x_refsource_MISC