Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSubmit crafted TOML to application
-
DeliveryCollide quoted dotted key bookkeeping
-
ExploitClear owned-container guard via table array
-
Executionassign() descends through Date to prototype
-
ImpactObject.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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
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
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).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.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.
Articles & Coverage 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
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.
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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote code execution in n8n's workflow expression evaluation system allows an authenticated user with workflow creation
A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could
FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t
Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete
Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc
An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner
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
Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi
Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin
The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic
EUVD-2026-107553
GHSA-h895-cgqg-jf52
NVD
CVE.org
EPSS
VulDB
Exploit-DB