All vulnerabilities
CVE-2026-106448GHSA-w48f-fwg7-ww6p

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

StableLib stablelibnpmLibraries & packages
CVSS
8.9High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.40%Chance of exploitation activity in the next 30 days, higher than 33% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in2.0.3Fixed versionOSV
Published6 Oct 2026Updated 7 Oct 2026CVE List

What fixes it

  • 2.0.3@stablelib/cbor, npmOSVnpm install @stablelib/cbor@2.0.3

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

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.

Text from CVE List

Affected versions 2

  • stablelibaffected: < 2.0.4CVE List
  • @stablelib/cbor, npmfrom first release, fixed in 2.0.3OSV

References 3