Skip to main content

toml-node EUVDEUVD-2026-107552

| CVE-2026-114141 HIGH
Inefficient Algorithmic Complexity (CWE-407)
2026-10-21 GitHub_M GHSA-4qx8-w7c3-pj3p
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify endpoint parsing untrusted TOML
  2. Delivery
    Submit document with many [[table]] headers
  3. Exploit
    Trigger quadratic rescan in addTableArray()
  4. Execution
    Block Node.js event loop synchronously
  5. Impact
    Deny service to all process operations

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Algorithmic complexity limits
Exploitation Conditions

Exploitation requires the application to pass attacker-controlled or untrusted TOML text to toml-node's toml.parse() while running a version prior to 5.0.1; the malicious document must contain a large number of distinct array-of-tables ([[name]]) headers to trigger the quadratic work in addTableArray(). Limiting factors: the impact is confined to availability (event-loop/process stall) with no data exposure or code execution, and deployments that only parse trusted, static, operator-controlled TOML configuration are not realistically exposed. No authentication is required (PR:N) and no user interaction is needed, so any reachable parsing path on untrusted input is sufficient.

Impact

This is a denial-of-service (availability-only) flaw: the vendor CVSS:4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) scores remote, low-complexity, unauthenticated exploitation with VA:H but VC:N/VI:N - no confidentiality or integrity impact - consistent with CWE-407 (inefficient algorithmic complexity) and the description's quadratic event-loop blocking. The 8.7 score is high because availability loss is weighted heavily under CVSS 4.0, but the real-world blast radius is narrower than a code-execution bug of similar score: the worst outcome is process/event-loop starvation, not compromise. No EPSS score, no CISA KEV listing, and no public POC were provided, so exploitation status is 'no public exploit identified at time of analysis' - this is not a confirmed in-the-wild threat. Note a metadata conflict: the input Tag 'Information Disclosure' directly contradicts the CVSS vector (VC:N) and the description, which describe pure availability impact with no data exposure - the tag appears mislabeled and should not drive triage. Realistic priority is moderate-but-conditional: it only matters where the library parses attacker-controlled TOML.

Exploit ScenarioDerived

An application using toml-node < 5.0.1 accepts TOML from an untrusted source (e.g., an uploaded config, an API body, or user-supplied document) and calls toml.parse() on it. An attacker submits a document containing a very large number of distinct array-of-tables headers ([[a]], [[b]], ...), triggering quadratic rescans of the bookkeeping sets that synchronously block the Node.js event loop and stall all other work in the process. No public exploit code was identified, but the payload is trivial to construct.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 21, 2026

Denial of service in toml-node before 5.0.1 lets unauthenticated remote attackers stall the Node.js event loop by supplying TOML documents with many distinct [[array-of-tables]] headers, which force quadratic rescans of compiler bookkeeping sets in addTableArray(). The issue is CWE-407 inefficient algorithmic complexity and affects Node.js and browser deployments that call toml.parse() on untrusted input; no public exploit code has been identified at time of analysis.

RemediationAI

Vendor-released patch: 5.0.1. Upgrade toml-node to version 5.0.1, which replaces the quadratic addTableArray() bookkeeping with container-origin tags and is documented in the v5.0.1 release (https://github.com/BinaryMuse/toml-node/releases/tag/v5.0.1) and advisory GHSA-4qx8-w7c3-pj3p (https://github.com/BinaryMuse/toml-node/security/advisories/GHSA-4qx8-w7c3-pj3p); the fix commit is 609c873fffea0a27ebe5b4dd098eed2b3daf3606. If immediate upgrade is not possible, avoid calling toml.parse() on untrusted TOML and enforce strict input limits before parsing (for example, cap document size and the number of [[...]] headers), and run parsing in a worker thread or child process with a timeout so a stalled event loop does not take down the main service-trade-offs are added complexity and operational overhead, and these controls do not remove the underlying quadratic behavior.

Affected VersionsENISA

toml-node < 5.0.1

Affected Packages

euvd toml_node fix: 5.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

toml-node is a TOML parser used in Node.js and browser contexts. In versions before 5.0.1, the compiler's addTableArray() handled every [[name]] array-of-tables header by rescanning the global assignedPaths and valueAssignments Sets, so N distinct headers produced O(N^2) synchronous work and could block the Node.js event loop, causing process-wide denial of service (CWE-407, inefficient algorithmic complexity). The CPE cpe:2.3:a:binarymuse:toml-node:*:*:*:*:*:*:*:* covers the affected pre-5.0.1 product line. The upstream fix commit 609c873 replaces the global bookkeeping sets with per-container origin tags (HEADER_TABLE, IMPLICIT_TABLE, DOTTED_TABLE, INLINE_TABLE, TABLE_ARRAY) held in a WeakMap, eliminating repeated full-set scans. The CVSS vector is availability-only (VC:N/VI:N/VA:H), and the 'Information Disclosure' metadata tag is not supported by the assessed impact.

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

Vendor (GitHub_M) PRIMARY 8.7 HIGH
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
vuln.today AI 7.5 HIGH

Remote unauthenticated untrusted input (AV:N/PR:N/UI:N), trivially crafted payload (AC:L), availability-only event-loop DoS so C:N/I:N/A:H and scope unchanged.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 21, 2026 - 22:03 EUVD
CVE Published
Oct 21, 2026 - 20:25 cve.org
HIGH 8.7

DescriptionCVE.org

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.

Technical POC Analysis

CWE-407, inefficient algorithmic complexity.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

toml-node releases before 5.0.1 can be driven into excessive CPU consumption by crafted TOML input, stalling Node.js event loops and degrading or denying service in applications that parse untrusted TOML; no public exploit identified at time of analysis. Leadership should care because affected services may become unavailable without a vendor-released patch, and exposure is concentrated in teams that accept TOML from external or user-controlled sources.

Business Impact: High
Compensating Controls

No vendor-released patch identified; enforce TOML document size and [[array-of-tables]] header-count limits, reject untrusted or unusually complex TOML, isolate toml.parse() in worker threads or subprocesses with timeouts and CPU limits, rate-limit and monitor event-loop latency, and upgrade to toml-node 5.0.1 or later when the vendor patch is confirmed.

Threat Intelligence Overview

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Medium
npm TOML parsing library with moderate adoption, not a universal dependency
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0
CVE-2025-68613 HIGH POC
8.8 Dec 19

Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

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

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy