CVE-2026-114143
NoneCVSS
—
EPSS
0.5%
Published
Oct 21, 2026
CISA due date
—
Cloudanix analysis
A configuration-file reader can be overwhelmed by specially crafted input and cause programs that use it to slow down or crash.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Repeated string slicing and rejoining of every path prefix during TOML key processing in assign(), deepRef(), and setNestedKey() produces quadratic CPU and memory growth on long dotted keys, table headers, array-of-tables, and inline-table keys; maxDepth does not constrain segment count.
Why it matters to the business
Applications or services that parse untrusted TOML can experience prolonged event-loop blockage or process termination, resulting in denial of service and operational downtime.
How an attack unfolds
An attacker supplies a TOML document containing an extremely long dotted key path to toml.parse(); the parser performs quadratic work on every prefix, exhausting CPU time or memory and halting the Node.js process.
How to fix it
Upgrade toml-node to version 5.0.1 or later; after upgrade, enforce strict input-size limits on TOML documents before parsing.
How to confirm the fix worked
Inspect package.json or node_modules/toml-node/package.json for version >= 5.0.1; replay a long dotted-key TOML payload in a test environment and confirm the parse completes without excessive latency or memory growth.
Typical attack path
- Craft a TOML payload containing a dotted key with thousands of segments
- Deliver the payload to any code path that invokes toml.parse() on untrusted input
- Trigger sustained high CPU usage or out-of-memory termination in the Node.js event loop
How to detect it
Search application and Node.js process logs for sudden spikes in CPU or memory usage during TOML parsing; inspect any captured TOML payloads for unusually long dotted keys or repeated path prefixes.
What your security team should do
- Upgrade toml-node to 5.0.1 immediately across all environments
- Add runtime guards that reject TOML documents exceeding a safe key-segment count before calling parse()
- Monitor Node.js processes for sustained high CPU or memory spikes correlated with TOML parsing
- Review all code paths that accept TOML from external or user-controlled sources
The record
toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() repeatedly slices and rejoins every path prefix in lib/compiler.js while processing long dotted keys, table headers, array-of-tables headers, and inline-table keys in assign(), deepRef(), and setNestedKey(). The resulting quadratic work can block the Node.js event loop for several seconds, and sufficiently long paths can terminate the process through memory exhaustion. The maxDepth option does not limit key-segment count and therefore does not mitigate this path. This issue is fixed in version 5.0.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-62160 Daptin is a GraphQL/JSON-API headless CMS. CWE-407
- CVE-2026-87768 DateTime::Lite versions before 0.8.1 for Perl allow CPU exhaustion via a per-day loop… CWE-407
- CVE-2026-119196 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2026-119194 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2026-119195 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2026-119197 pyasn1 is a generic ASN.1 library for Python. CWE-407
- CVE-2019-25781 Python-Markdown 3.0 through 3.11.2 contains an algorithmic complexity vulnerability in… CWE-407
- CVE-2026-118694 python-markdown2 through 2.5.5 contains a denial of service vulnerability that allows… CWE-407