CVE-2026-63386 js-toml: Uncontrolled recursion in `load()` causes `RangeError` (stack exhaustion) on deeply nested input
Attackers can cause denial of service in applications parsing untrusted TOML by triggering stack exhaustion via deeply nested input.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- None listed
What is CVE-2026-63386?
CVE-2026-63386 is a medium-severity denial of service vulnerability in sunnyadn js-toml, published on 22 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
js-toml is a TOML parser for JavaScript. Prior to 1.1.3, load() does not bound nesting or dotted-key depth in the recursive parser at src/load/parser.ts or the interpreter at src/load/interpreter.ts, so deeply nested arrays, deeply nested inline tables, or long dotted keys can exhaust the V8 call stack and throw a raw RangeError instead of the documented SyntaxParseError. Applications that parse attacker-controlled TOML and handle only SyntaxParseError can rethrow the unexpected exception, which can terminate a worker or process and cause denial of service. The exception is synchronous and catchable by consumers that handle all exceptions, and the issue does not affect confidentiality or integrity. This issue is fixed in version 1.1.3.
Weakness: CWE-674
Which versions are affected by CVE-2026-63386?
How do I fix CVE-2026-63386?
No fix has been published for CVE-2026-63386 yet. Limit exposure of the affected software until one is available.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2026-63386 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-63386 exists.
Sources
Also known as GHSA-3g82-77xr-68x5.