Skip to main content
← All vulnerabilities
CVE-2026-106448GHSA-W48F-FWG7-WW6P

StableLib: Prototype poisoning via `__proto__` map keys in CBOR decoding

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.0.4, 2.0.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

StableLib is a stable library of useful TypeScript and JavaScript code. Prior to 2.0.4, the @stablelib/cbor CBOR map decoding path creates ordinary JavaScript objects and assigns attacker-controlled keys with bracket assignment. A map key named proto invokes the inherited prototype setter instead of creating an ordinary own property, allowing the decoded object's prototype to contain attacker-controlled authorization or feature-flag values. Downstream code that trusts normal property lookup or merges the decoded object can therefore make security-sensitive decisions using inherited attacker data. This issue is fixed in version 2.0.4.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • StableLib stablelib

    fixed in 2.0.4

  • @stablelib/cbornpm

    fixed in 2.0.3

References 3

GitHub · StableLib/stablelib

CVE-2026-106448: StableLib: Prototype poisoning via `__proto__` map keys in CBOR decoding | cve.now