Description
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.
Published: 2026-10-21
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The vulnerability originates from the toml.parse() routine in toml-node. During parsing, the function repeatedly slices and rejoins every path prefix for long dotted keys, table headers, array‑of‑tables headers, and inline‑table keys. This leads to quadratic time complexity, making the parser consume excessive CPU cycles and memory when confronted with very long paths. An attacker can exploit this to block the Node.js event loop for seconds or even terminate the process due to memory exhaustion. The bug is characterized by inefficient algorithm design (CWE‑407) and by excessive memory usage (CWE‑770).

Affected Systems

BinaryMuse's toml-node package is vulnerable in all releases before 5.0.1. Affected systems are any Node.js or browser environments that import toml-node <5.0.1 and call toml.parse() on untrusted TOML input. The maxDepth option does not restrict the number of key segments and therefore offers no protection.

Risk and Exploitability

The CVSS score of 8.7 indicates a high severity DoS flaw. The EPSS score is 0.00291 (0.291%) and the vulnerability is not listed in CISA's KEV catalog. Exploitation does not require privileged code; an attacker only needs to supply a crafted TOML document with extremely long key names or table paths to the vulnerable parser. The impact is confined to the host running the Node.js process, potentially affecting availability for applications that rely on toml-node.

Generated by OpenCVE AI on October 22, 2026 at 15:44 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade toml-node to version 5.0.1 or later.
  • If an upgrade is not immediately feasible, validate incoming TOML data to enforce reasonable limits on key or path length before passing it to toml.parse(), or skip parsing for untrusted input.
  • Run toml.parse() in a separate worker thread or child process to isolate the event loop from potential DoS attacks.

Generated by OpenCVE AI on October 22, 2026 at 15:44 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9j65-hcg3-gc64 toml-node: Quadratic-complexity DoS via long dotted keys or table paths in toml.parse()
History

Wed, 28 Oct 2026 02:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Important


Thu, 22 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
First Time appeared Binarymuse
Binarymuse toml-node
Vendors & Products Binarymuse
Binarymuse toml-node

Wed, 21 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
Description 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.
Title toml-node: Quadratic-complexity DoS via long dotted keys or table paths in toml.parse()
Weaknesses CWE-407
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Binarymuse Toml-node
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-28T01:45:01.590Z

Reserved: 2026-10-20T21:53:58.473Z

Link: CVE-2026-114143

cve-icon Vulnrichment

Updated: 2026-10-28T01:41:08.894Z

cve-icon NVD

Status : Deferred

Published: 2026-10-21T21:17:56.963

Modified: 2026-10-28T02:17:05.510

Link: CVE-2026-114143

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-21T20:31:01Z

Links: CVE-2026-114143 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T15:45:08Z

Weaknesses
  • CWE-407

    Inefficient Algorithmic Complexity

  • CWE-770

    Allocation of Resources Without Limits or Throttling