---
id: CVE-2026-63376
title: toml-node is a TOML parser for Node.js and the browser
summary: >-
  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 Ob…
severity: high
cvss: 8.2
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L'
cwe:
  - CWE-1321
  - CWE-915
vendor: Red Hat
product: Red Hat Enterprise Linux 10
affected:
  - enterprise_linux 10
patched:
  - toml 4.1.2
published: '2026-09-03'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:09:13.080'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-63376'
references:
  - url: >-
      https://github.com/BinaryMuse/toml-node/commit/def6ab5ea99038c0dd482cd6af1745a6af8b4c44
    label: security-advisories@github.com
  - url: >-
      https://github.com/BinaryMuse/toml-node/commit/dfaff662276adc38a2e03df3139f7119b0185463
    label: security-advisories@github.com
  - url: >-
      https://github.com/BinaryMuse/toml-node/security/advisories/GHSA-v5mp-jgw5-2x6j
    label: security-advisories@github.com
  - url: >-
      https://github.com/BinaryMuse/toml-node/security/advisories/GHSA-v5mp-jgw5-2x6j
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-63376.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-63376'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2528256'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-63376'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-63376'
  - url: 'https://github.com/advisories/GHSA-v5mp-jgw5-2x6j'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
  - ghsa
  - npm
  - score-dispute
epss: 0.00683
epssPercentile: 0.50489
aliases:
  - GHSA-v5mp-jgw5-2x6j
ecosystem: npm
scores:
  nvd: 8.2
  vendor: 3.7
  ghsa: 8.2
ingestedAt: '2026-09-03T21:08:45.983Z'
---

## Overview

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. Injected properties become visible throughout the Node.js process and can cause denial of service, logic or authorization bypass, or code execution when an application contains a suitable gadget. This issue is fixed in version 4.1.2.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-63376)

Affected packages:

- `toml < 4.1.2`

Patched in:

- `toml 4.1.2`

Source: https://github.com/advisories/GHSA-v5mp-jgw5-2x6j

## Vendor advisories

- **Red Hat VEX** · Low · affected: Red Hat Enterprise Linux 10 · no fix planned: Red Hat Enterprise Linux 10 · updated 2026-09-08 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-63376.json)
