Description
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.
Published: 2026-10-21
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

The vulnerability resides in the toml-node parser, where large hexadecimal, octal, binary, or decimal literals are passed to the JavaScript BigInt constructor before a range check is performed. Converting such an unbounded integer consumes super‑linear CPU time and blocks the Node.js event loop synchronously, allowing an attacker who can supply a crafted TOML document to exhaust computational resources of the process and prevent other tasks from running.

Affected Systems

BinaryMuse’s toml-node library is affected. All releases prior to version 5.0.1 contain the flaw because the unsafe conversion logic executes before any bounds checking; version 5.0.1 and later include a fix that performs the range validation before calling BigInt.

Risk and Exploitability

The CVSS score of 7.5 indicates a high‑severity denial‑of‑service risk, while the EPSS score of less than 1 % shows a very low but non‑zero probability of exploitation. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is any scenario where an attacker can provide arbitrary TOML input to the application, such as through a configuration file, user‑supplied data, or an external API that parses TOML. If the parsing function is exposed to untrusted data, the flaw can be triggered without authentication; the event loop remains blocked until the BigInt conversion completes, causing a denial of service for the entire Node.js process.

Generated by OpenCVE AI on October 22, 2026 at 15:59 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the toml-node package to version 5.0.1 or later so that the range check occurs before BigInt conversion.
  • Validate or sanitize integer literals before calling toml.parse(); limit the length to the 64‑bit range or catch BigInt errors to prevent large conversions.
  • Run toml.parse() on untrusted input in a sandboxed worker thread or separate process to contain any blocking and preserve the main event loop.
  • Configure monitoring to detect long‑running BigInt conversions or event‑loop stalls and alert the operations team.

Generated by OpenCVE AI on October 22, 2026 at 15:59 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-9qmh-m7c6-f92p toml-node: Uncontrolled resource consumption (CPU DoS) via unbounded-length integer literals in toml.parse()
History

Fri, 30 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', '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

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, 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.
Title toml-node: Uncontrolled resource consumption (CPU DoS) via unbounded-length integer literals in toml.parse()
Weaknesses CWE-400
CWE-770
References
Metrics 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'}


Subscriptions

Binarymuse Toml-node
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-30T14:30:11.488Z

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

Link: CVE-2026-114144

cve-icon Vulnrichment

Updated: 2026-10-30T14:29:41.183Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-10-30T15:16:45.470

Link: CVE-2026-114144

cve-icon Redhat

Severity : Important

Publid Date: 2026-10-21T20:32:54Z

Links: CVE-2026-114144 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-22T16:00:11Z

Weaknesses
  • CWE-1322

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

  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-770

    Allocation of Resources Without Limits or Throttling