Skip to content
OpenAdvisories
High · 8.9 CVE-2026-106448 EUVD-2026-93973GHSA-w48f-fwg7-ww6p

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

Published Oct 6, 2026 · Updated Oct 7, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
StableLib stablelib < 2.0.4 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @stablelib/cbor < 2.0.3 2.0.3 GHSA-w48f-fwg7-ww6p

References