Description
toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, the toml.parse() compiler's addTableArray() function in lib/compiler.js rescans the complete assignedPaths and valueAssignments bookkeeping sets for every array-of-tables header. Distinct [[name]] paths are not pruned, so a document with many such headers causes quadratic synchronous work and can block the Node.js event loop, denying service to other operations in the process. 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 is a quadratic‑complexity denial of service that occurs when toml-node’s toml.parse() repeatedly rescans the entire assignedPaths and valueAssignments data structures for every array‑of‑tables header. Because distinct [[name]] paths are not pruned, a TOML document containing many such headers causes the parser to perform a repetitive, synchronous scan, blocking the Node.js event loop and preventing other operations from executing. This flaw is a classic example of CWE‑407 and CWE‑1322, where a program fails to consider the impact of its logic on resource usage or time complexity.

Affected Systems

BinaryMuse toml-node libraries used in Node.js or browser environments are affected prior to version 5.0.1. Any application that parses user‑supplied TOML files with this library may experience a denial of service until the library is upgraded to v5.0.1 or later, which contains the fix.

Risk and Exploitability

The CVSS score of 8.7 classifies this vulnerability as high severity. The EPSS score is < 1%, indicating a very low probability that the vulnerability will be actively exploited. The issue is not listed in the CISA KEV catalog. Based on the description, it is inferred that an attacker who can provide a crafted TOML file to an application that uses the older parser may trigger the quadratic scan, causing the service to become unresponsive. The attack vector is likely local or remote depending on how the application accepts TOML input, but the impact is a denial of service to all processes sharing the Node.js event loop.

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 newer, which contains the patch for the quadratic‑complexity issue.
  • Pin the dependency to the fixed version in your package.json and run a dependency audit to confirm the update.
  • If upgrading immediately is not feasible, validate or limit the size of customer‑sourced TOML files before passing them to toml.parse() to reduce the risk of a denial of service.

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-4qx8-w7c3-pj3p toml-node: Quadratic-complexity DoS via many array-of-tables headers in toml.parse()
History

Fri, 23 Oct 2026 22:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


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

Type Values Removed Values Added
Weaknesses CWE-1322
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, the toml.parse() compiler's addTableArray() function in lib/compiler.js rescans the complete assignedPaths and valueAssignments bookkeeping sets for every array-of-tables header. Distinct [[name]] paths are not pruned, so a document with many such headers causes quadratic synchronous work and can block the Node.js event loop, denying service to other operations in the process. This issue is fixed in version 5.0.1.
Title toml-node: Quadratic-complexity DoS via many array-of-tables headers 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-23T21:20:03.858Z

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

Link: CVE-2026-114141

cve-icon Vulnrichment

Updated: 2026-10-23T17:32:48.283Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-23T22:16:56.280

Link: CVE-2026-114141

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-21T20:25:36Z

Links: CVE-2026-114141 - Bugzilla

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-1322

    Use of Blocking Code in Single-threaded, Non-blocking Context

  • CWE-407

    Inefficient Algorithmic Complexity