CVE-2026-82404: TOON: Prototype pollution when decoding untrusted TOON input

Published Sep 2, 2026
·
Updated

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 Software

1 affected component
TOON<2.3.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 2.3.1

Event History

Sep 2, 2026
CVE Published
via MITRE·04:30 PM
Data Sourced
via MITRE·04:30 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Services that decode attacker-controlled TOON input are exposed. The issue can affect the runtime globally by polluting Object.prototype, including through dotted keys, plain nested objects, tabular rows, quoted keys, and streaming decode.

2

What does an attacker need to exploit this?

An attacker needs to supply TOON input for decoding; the listed vector requires no privileges or user interaction. Payloads using __proto__, constructor, or prototype keys can trigger prototype-chain writes, with dotted paths such as a.__proto__.x identified as the strongest vector.

3

Are there risks beyond decoding?

Yes. The encoder could drop own __proto__ properties and could invoke an inherited setter during normalization. The described impact includes denial of service and potentially remote code execution when a suitable downstream gadget is present.

4

What version resolves the issue?

Upgrade TOON to version 2.3.1. Versions prior to 2.3.1 are affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203