Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft ~5-6 KB deeply nested TOML array payload
-
DeliverySend to any network endpoint calling toml.parse()
-
ExploitParser recurses without depth bound
-
ExecutionNode.js call stack exhausted
-
PersistUncatchable RangeError terminates process
-
ImpactDenial of service achieved
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
|
| Exploitation Conditions | Exploitation requires only that the target application calls |
| Impact | CVSS 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) accurately characterises this as a network-reachable, low-complexity, unauthenticated denial-of-service with no confidentiality or integrity impact. The primary limiting factor is that exploitation requires the application to pass attacker-controlled data to |
| Exploit ScenarioDerived | An attacker sends a single HTTP POST request containing a TOML body with several thousand nested empty arrays (e.g., |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 03, 2026
Uncontrolled recursion in toml-node (npm package toml, ~47 million monthly downloads) allows remote unauthenticated attackers to crash any Node.js process that parses attacker-controlled TOML input. The Peggy 5.1.0-generated recursive-descent parser has no depth limit in the mutual recursion between peg$parsevalue, peg$parsearray, and peg$parseinline_table_entry; a ~5-6 KB payload of deeply nested arrays reliably exhausts the call stack and raises an uncatchable RangeError that terminates the request worker or process. A confirmed PoC is documented in the GHSA advisory; a patch is available in version 4.2.0 released July 13, 2026.
RemediationAI
Upgrade to toml version 4.2.0 or later via npm install toml@4.2.0 (or update package.json and run npm install). The fix introduces a maxDepth option (default 500 nesting levels) that causes toml.parse() to throw a normal parse error instead of overflowing the call stack; the default is suitable for all valid real-world TOML documents. The configurable limit can be tightened further: toml.parse(input, { maxDepth: 100 }). Patch commit: https://github.com/BinaryMuse/toml-node/commit/967b8b06754f3ecd9863cea118dc50792a8c353f; PR: https://github.com/BinaryMuse/toml-node/pull/72. If upgrading immediately is not possible, a compensating control is to reject TOML input exceeding a conservative byte-length threshold (e.g., reject payloads over 1 KB if deeply nested structures are not expected) or to run the parsing step in an isolated child process with --stack-size limited so a crash does not bring down the main worker. Both workarounds introduce latency or resource overhead and should be treated as temporary bridges to the patch.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
toml-node (CPE: cpe:2.3:a:binarymuse:toml-node:*:*:*:*:*:*:*:*) is a TOML 1.0 parser for Node.js distributed as the toml npm package. Its parser (lib/parser.js) is machine-generated by Peggy 5.1.0 as a recursive-descent parser. The grammar encodes TOML values mutually recursively: the value rule delegates to the array rule, which loops over value elements, forming an unbounded recursion cycle proportional to nesting depth. The same cycle applies to inline tables via peg$parseinline_table_entry. CWE-674 (Uncontrolled Recursion) is the root cause - the generated code carries no depth counter or guard, so nesting depth directly maps to call-stack depth. Node.js imposes a finite default call-stack size; exceeding it raises a RangeError: Maximum call stack size exceeded that is not caught by the typical try/catch a caller would write expecting only SyntaxError. The fix in 4.2.0 introduces a depth counter in the generated parser with a configurable maxDepth option (default 500) and throws a normal parse error when exceeded.
Know when Node.js gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Sources disagree (Low–High)AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Network-reachable, no auth or interaction needed, pure availability DoS with no confidentiality or integrity impact; matches provided vector.
vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
toml-node is a TOML parser for Node.js and the browser. Prior to 4.2.0, toml.parse() uses a Peggy 5.1.0 generated recursive-descent parser in lib/parser.js whose peg$parsevalue, peg$parsearray, and peg$parseinline_table_entry functions recurse through nested arrays and inline tables without a depth limit. A remote unauthenticated application parsing an attacker-controlled TOML document containing a few thousand nested arrays or inline tables can exhaust the Node.js call stack, raise an unexpected RangeError rather than the parser's SyntaxError, and terminate an unprotected request worker or process. The corresponding grammar source is src/toml.pegjs, where the generated parser must be bounded. This issue is fixed in version 4.2.0.
Blast Radius
ecosystem impact- 89 npm packages depend on toml (2 direct, 87 indirect)
Ecosystem-wide dependent count for version 4.2.0.
Articles & Coverage 1
Technical POC Analysis
The defect is CWE-674, Uncontrolled Recursion, in the toml npm package (toml-node) before 4.2.0.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
The widely-used toml npm package (~47 million monthly downloads) contains an uncontrolled recursion vulnerability with publicly available exploit code, allowing remote unauthenticated attackers to crash any Node.js application that parses untrusted TOML input. This creates critical supply-chain risk across your infrastructure; a small malicious TOML document can trigger immediate service outages, making rapid patching essential for production systems.
Apply vendor patch: upgrade the toml package to version 4.2.0 or later.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
A vulnerability in NuPoint Messenger (NPM) of Mitel MiCollab through 9.8.0.33 allows an unauthenticated attacker to cond
EUVD-2026-70739
GHSA-82x6-q7mm-w9cf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB