CVE-2026-114144
High · 7.5CVSS
7.5
EPSS
0.4%
Published
Oct 21, 2026
CISA due date
—
Cloudanix analysis
A flaw in a common TOML parsing library lets an attacker send one specially crafted file that makes the application stop responding to other users until it finishes processing the bad data.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Low
- Patch risk
- Low
What it actually does
Unbounded hexadecimal, octal, binary, and decimal digit sequences supplied to toml.parse() are passed directly to BigInt() in lib/parser.js before reduceInteger() in lib/compiler.js performs the TOML 64-bit range check, causing super-linear CPU consumption that synchronously blocks the Node.js event loop.
Why it matters to the business
Applications using the parser become unavailable to legitimate users when a single malicious TOML document is processed, leading to service disruption and potential loss of concurrent operations until the process recovers or is restarted.
How an attack unfolds
An attacker crafts a TOML document containing an excessively long integer literal and submits it to any endpoint that invokes toml.parse() on untrusted input; the library performs the costly BigInt conversion before the range validation, exhausting CPU and blocking the event loop for the duration of the conversion.
How to fix it
Upgrade toml-node to version 5.0.1 or later, which moves the integer range validation before the BigInt conversion; where immediate upgrade is not possible, enforce strict input size limits or schema validation on TOML documents prior to parsing.
How to confirm the fix worked
Confirm the installed package version is at least 5.0.1 via package.json or npm list; test by submitting a TOML document with an integer exceeding 64 bits and verifying that parsing fails quickly with a range error instead of consuming excessive CPU time.
Typical attack path
- Identify an application endpoint or API that accepts TOML input via toml-node
- Generate a TOML payload containing an integer literal thousands of digits long
- Transmit the payload in a single request to trigger synchronous BigInt() evaluation
- Observe sustained high CPU usage and blocked request handling in the target process
How to detect it
Review application and system logs for sudden sustained high CPU on threads handling TOML parsing, unusually long request processing times for TOML endpoints, and any error logs indicating BigInt conversion of oversized integers; correlate with inbound requests containing large numeric strings.
What your security team should do
- Immediately upgrade all instances of toml-node to 5.0.1 or newer
- Add input-length and schema validation around all TOML parsing entry points
- Monitor CPU utilization and request latency for spikes correlated with TOML ingestion
- Review dependency graphs to identify any transitive usage of the vulnerable parser
The record
toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() passes unbounded hexadecimal, octal, binary, and decimal digit sequences from lib/parser.js to BigInt() before reduceInteger() in lib/compiler.js checks whether the resulting value fits the TOML 64-bit integer range. Converting a sufficiently long integer string consumes super-linear CPU time and synchronously blocks the Node.js event loop, allowing one attacker-supplied TOML document to deny service to concurrent work in the process. The later range check cannot prevent the conversion cost because it executes after BigInt(). This issue is fixed in version 5.0.1.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-63341 Aedes is an MQTT broker that can run on any stream server. CWE-400
- CVE-2026-62300 Filecoin Pin is an IPFS Pinning Service API implementation that pins to Filecoin's PDP… CWE-400
- CVE-2026-62254 LibreDWG is a free C library to read and write DWG files. CWE-400
- CVE-2026-62250 LibreDWG is a free C library to read and write DWG files. CWE-400
- CVE-2026-62303 Pistache is a high-performance REST toolkit written in C++. CWE-400
- CVE-2026-62160 Daptin is a GraphQL/JSON-API headless CMS. CWE-400
- CVE-2026-61848 Crass is a Ruby CSS parser that's fully compliant with the CSS Syntax Level 3… CWE-400
- CVE-2026-61854 VoiceSentinel is a real-time voice moderation system for Minecraft servers. CWE-400