Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. js-toml
  4. ›
  5. CVE-2026-50029

CVE-2026-50029: js-toml has silent type confusion via falsy-primitive duplicate-key bypass

June 26, 2026 (updated July 21, 2026)

js-toml’s interpreter checks whether a key already exists in a parser-built container with if (object[key]) instead of if (key in object). When the prior value is a falsy primitive — false, 0, 0n, 0.0, -0, or "" — the duplicate-key branch is skipped and the value is silently overwritten by a later sub-table, dotted-key sub-table, or array-of-tables sharing the same name. Per the TOML 1.0.0 spec (“Defining a key multiple times is invalid”; “You cannot define any key or table more than once”), this should be a parse error.

The result is structural type confusion of attacker-named keys in the value returned by load(). A boolean-typed false (or numeric 0) becomes a truthy object. Host applications that gate behavior on if (config.flag), if (!user.banned), if (config.allowDelete), or if (config.publicMode) will silently take the truthy branch.

This is distinct from GHSA-65fc-cr5f-v7r2 (the 1.0.2 prototype-pollution fix). Object.prototype is not polluted. The Object.create(null) mitigation from 1.0.2 is intact; the bug here is in the duplicate-key state machine, not in container construction.

References

  • github.com/advisories/GHSA-m34p-749j-x6m6
  • github.com/sunnyadn/js-toml/commit/e0504fa5d3dcde2d1d588c9001c24b7b700beeeb
  • github.com/sunnyadn/js-toml/releases/tag/v1.1.2
  • github.com/sunnyadn/js-toml/security/advisories/GHSA-m34p-749j-x6m6
  • nvd.nist.gov/vuln/detail/CVE-2026-50029

Code Behaviors & Features

Detect and mitigate CVE-2026-50029 with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 1.1.2

Fixed versions

  • 1.1.2

Solution

Upgrade to version 1.1.2 or above.

Impact 5.3 MEDIUM

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N

Learn more about CVSS

Weakness

  • CWE-697: Incorrect Comparison

Source file

npm/js-toml/CVE-2026-50029.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:17:08 +0000.