p PatchFirst

PatchFirst · Latest vulnerabilities

toml vulnerabilities

Vulnerabilities published for toml in the last 30 days: 3. Listed in the KEV catalogue: 0.

RSS ↗
Filter vulnerabilities
Clear filters

Vulnerabilities: 5

  1. CVE-2026-114144

    High · CVSS 7.5EPSS 0.34%Public exploitFix available

    toml-node: Uncontrolled resource consumption (CPU DoS) via unbounded-length integer literals in toml.parse()

    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.

    • Update to 5.0.1
    Published Updated
  2. CVE-2026-114143

    High · CVSS 8.7EPSS 0.29%Public exploitFix available

    toml-node: Quadratic-complexity DoS via long dotted keys or table paths in toml.parse()

    toml-node is a TOML parser for Node.js and the browser. Prior to 5.0.1, toml.parse() repeatedly slices and rejoins every path prefix in lib/compiler.js while processing long dotted keys, table headers, array-of-tables headers, and inline-table keys in assign(), deepRef(), and setNestedKey(). The resulting quadratic work can block the Node.js event loop for several seconds, and sufficiently long paths can terminate the process through memory exhaustion. The maxDepth option does not limit key-segment count and therefore does not mitigate this path. This issue is fixed in version 5.0.1.

    • Update to 5.0.1
    Published Updated
  3. CVE-2026-114141

    High · CVSS 8.7EPSS 0.29%Public exploitFix available

    toml-node: Quadratic-complexity DoS via many array-of-tables headers in toml.parse()

    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.

    • Update to 5.0.1
    Published Updated
  4. CVE-2026-77465

    High · CVSS 7.5EPSS 0.61%Fix available

    toml-node: Uncontrolled Recursion

    toml-node is a TOML parser for Node.js and the browser. Prior to 4.2.0, toml.parse() uses a Peggy 5.1.0 generated recursive-descent parser in lib/parser.js whose peg$parsevalue, peg$parsearray, and peg$parseinline_table_entry functions recurse through nested arrays and inline tables without a depth limit. A remote unauthenticated application parsing an attacker-controlled TOML document containing a few thousand nested arrays or inline tables can exhaust the Node.js call stack, raise an unexpected RangeError rather than the parser's SyntaxError, and terminate an unprotected request worker or process. The corresponding grammar source is src/tom

    • Update to 4.2.0
    Published Updated
  5. CVE-2026-63376

    High · CVSS 8.2EPSS 0.68%Fix available

    toml-node: Prototype Pollution Leads to `Object.prototype` Corruption via `__proto__` Key-Path Desynchronization

    toml-node is a TOML parser for Node.js and the browser. Prior to 4.1.2, toml.parse() in lib/compiler.js can be tricked by a table path such as a.b.y.__proto__.__proto__, allowing traversal from a scalar value into Number.prototype and Object.prototype. The currentPath tracking value uses both arrays and strings, so valueAssignments records a comma-joined path such as a,b.y while deepRef checks the dot-joined path a.b.y, allowing the duplicate-key guard to miss and attacker-controlled keys to be written to Object.prototype. A table-array prefix-clearing path in addTableArray can also erase guard state before the same __proto__ traversal. Injec

    • Update to 4.1.2
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →