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.
Published: 2026-09-02
Score: 8.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability arises from prototype pollution when the TOON decoder processes attacker‑controlled keys such as __proto__, constructor, or prototype. Instead of creating a new property, the decoder writes onto the Object prototype, allowing an attacker to inject arbitrary properties into all objects created thereafter. If a downstream gadget chain is present, this can lead to remote code execution; otherwise, the polluted prototype can cause application failure or denial of service.

Affected Systems

Any installation of toon-format TOON older than version 2.3.1 that accepts untrusted TOON data is affected. This includes projects that import the package directly or use it via a dependency chain.

Risk and Exploitability

The CVSS score of 8.3 indicates high severity. The EPSS score is not available, and the vulnerability is not listed in CISA's KEV catalog, but the potential for remote code execution is significant. The attack vector is decoding untrusted TOON data, which can be delivered over a network or injected into a local service, making the vulnerability exploitable remotely if the service processes external input.

Generated by OpenCVE AI on September 3, 2026 at 10:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the TOON package to version 2.3.1 or later to apply the vendor patch.
  • If an upgrade cannot be performed immediately, block or remove the ability of the application to decode untrusted TOON data until the patch is installed.
  • Add a validation layer that rejects any TOON key containing __proto__, constructor, or prototype before decoding, and ensure that the decode function uses the safe expansion mode.

Generated by OpenCVE AI on September 3, 2026 at 10:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 03 Sep 2026 16:00:00 +0000

Type Values Removed Values Added
First Time appeared Toon-format
Toon-format toon
Vendors & Products Toon-format
Toon-format toon

Wed, 02 Sep 2026 16:45:00 +0000

Type Values Removed Values Added
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.
Title TOON: Prototype pollution when decoding untrusted TOON input
Weaknesses CWE-1321
References
Metrics cvssV3_1

{'score': 8.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:L'}


Subscriptions

Toon-format Toon
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-02T18:59:07.868Z

Reserved: 2026-08-28T22:00:43.513Z

Link: CVE-2026-82404

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-02T17:18:00.223

Modified: 2026-09-02T19:18:06.453

Link: CVE-2026-82404

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-03T15:34:24Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')