Skip to main content

toml-node EUVDEUVD-2026-107553

| CVE-2026-114142 HIGH
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-10-21 GitHub_M GHSA-h895-cgqg-jf52
8.8
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Submit crafted TOML to application
  2. Delivery
    Collide quoted dotted key bookkeeping
  3. Exploit
    Clear owned-container guard via table array
  4. Execution
    assign() descends through Date to prototype
  5. Impact
    Object.prototype polluted process-wide

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires that the application call toml.parse() on TOML content an attacker can influence, and specifically relies on crafted quoted dotted key paths combined with a table-array ([[a]]) declaration so that quoteDottedString()'s colliding bookkeeping string clears another key's owned-container guard and lets assign() descend through an unowned Date value into Object.prototype. The affected versions are all releases prior to 5.0.1. The key limiting factor is that the attacker must control the parsed TOML input: applications that only parse trusted, developer-authored configuration files are not realistically exploitable, whereas services parsing user-supplied or remotely-fetched TOML are directly exposed. No authentication or user interaction is required by the library itself (PR:N/UI:N).

Impact

This is a prototype pollution flaw (CWE-1321) in the toml-node parser scored 8.8 via the provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) with high integrity and availability impact (VI:H/VA:H) and no confidentiality impact (VC:N). The network attack vector and no-privilege/no-interaction metrics reflect that the vulnerability is reachable whenever an application feeds attacker-controlled TOML to toml.parse() - the 'network' framing is a proxy for untrusted input flowing into the library, not a listening service. No EPSS score, no CISA KEV listing, and no public POC were supplied; the only exploitation-relevant artifact is the upstream patch commit (609c873) and GHSA advisory, which confirm the defect and fix but do not demonstrate weaponization. Signals are therefore consistent but modest: the technical impact is real and the preconditions are low, yet there is no evidence of active or opportunistic exploitation. Realistic priority is moderate-to-high for any service that parses untrusted TOML, and low for applications that only parse trusted, developer-authored config files. EPSS/KEV data is absent and should be checked before final triage; treat exploitation likelihood as unconfirmed rather than low.

Exploit ScenarioDerived

An application uses toml-node (<5.0.1) to parse TOML supplied by an untrusted source - for example a user-uploaded config, an API request body, or a plugin manifest. The attacker submits a TOML document with specially crafted quoted dotted keys that collide in the parser's bookkeeping, causing assign() to descend through an unowned Date value and reach Object.prototype, polluting it so that unrelated objects created later in the process inherit the injected property. No public exploit code was identified at time of analysis.

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

Prototype pollution in toml-node before 5.0.1 lets an attacker who controls TOML input passed to toml.parse() inject properties into Object.prototype by combining colliding quoted dotted-key bookkeeping with a table-array declaration. The flaw can corrupt objects created elsewhere in the same Node.js or browser process, producing high integrity and availability impact with no confidentiality impact; no public exploit identified at time of analysis.

RemediationAI

Vendor-released patch: 5.0.1, available at https://github.com/BinaryMuse/toml-node/releases/tag/v5.0.1; upgrade all direct and transitive uses to 5.0.1 and verify the fix commit https://github.com/BinaryMuse/toml-node/commit/609c873fffea0a27ebe5b4dd098eed2b3daf3606. If upgrading is not immediately possible, do not pass untrusted or remotely fetched TOML to toml.parse(); restrict parsing to trusted developer-authored configuration, or isolate parsing in a separate process or worker and check for unexpected inherited properties after parsing, with the trade-off of reduced functionality for user-supplied TOML and added operational complexity. Freezing Object.prototype can block this pollution path but may break libraries that legitimately modify prototypes, so use it only as a temporary, tested stopgap.

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 for Node.js and browser applications, so the vulnerable compiler code runs inside the consuming process. In lib/compiler.js, quoteDottedString() creates bookkeeping strings for key paths; distinct quoted dotted key paths can collapse to the same string, and a subsequent addTableArray() operation can clear another key's owned-container guard. The assign() path can then descend through an unowned Date value without the owned-container check and reach Object.prototype, making the injected property visible to objects created elsewhere in the process. This is CWE-1321 prototype pollution, and exploitation depends on the application parsing attacker-influenced TOML that contains the crafted quoted dotted key and table-array pattern.

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.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 9.1 CRITICAL

Reachable whenever untrusted TOML is parsed (AV:N/AC:L/PR:N/UI:N); prototype pollution corrupts integrity and can crash/deny (I:H/A:H) with no data disclosure (C:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/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
High
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:28 cve.org
HIGH 8.8

DescriptionCVE.org

toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() can write attacker-controlled properties to Object.prototype because quoteDottedString() in lib/compiler.js produces the same bookkeeping string for distinct quoted key paths, allowing addTableArray() to clear another key's guard. The assign() path then descends through an unowned Date value without applying the owned-container check and can reach the prototype chain. Objects created elsewhere in the process can inherit the injected property. This issue is fixed in version 5.0.1.

Technical POC Analysis

CWE-1321 (Improperly Controlled Modification of Object Prototype Attributes / prototype pollution).

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

Applications using toml-node versions prior to 5.0.1 to parse TOML input are exposed to a prototype pollution vulnerability that can corrupt shared objects across the Node.js or browser process, resulting in high integrity and availability impact without confidentiality loss. No public exploit has been identified at time of analysis, but any service that processes untrusted TOML has a broad blast radius within its runtime. Leadership should prioritize remediation because the flaw can cause application-wide instability or denial of service and may enable further exploitation if chained with other vulnerabilities.

Business Impact: High
Compensating Controls

Avoid passing untrusted TOML to toml.parse(); if unavoidable, sanitize input to reject colliding quoted dotted keys combined with table-array declarations, freeze Object.prototype, and isolate parsing in a low-privilege process.

Threat Intelligence Overview

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Medium
popular npm TOML parser, but TOML parsing not universally deployed
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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