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.
Published: 2026-10-06
Score: 8.9 High
EPSS: < 1% Very Low
KEV: No
Impact: Prototype pollution allowing attacker-controlled prototype modification
Action: Immediate Patch
AI Analysis

Impact

The vulnerability allows attacker-controlled CBOR map keys named __proto__ to trigger prototype assignment during decoding. This changes the prototype of the resulting JavaScript object, injecting arbitrary properties that can influence system authorization or feature flag checks. The weakness is identified as prototype pollution, enumerated as CWE‑1321. Because the affected code trusts inherited properties, a malicious payload could make downstream code honor attacker‑defined permissions or toggle critical features, effectively compromising integrity and potentially authority enforcement.

Affected Systems

The flaw exists in the StableLib @stablelib/cbor library before release 2.0.4. Versions older than 2.0.4 are vulnerable. Packages that depend on this library and use its CBOR decoding routine are affected.

Risk and Exploitability

The CVSS score of 8.9 indicates high severity; the EPSS score is not available, but the absence does not imply low risk. The vulnerability is not listed in CISA KEV, suggesting no confirmed exploit in the wild yet. Attackers can trigger it by providing crafted CBOR data containing a key named __proto__ to the decoder, which is typically invoked via network or file input. If the decoding operation is exposed to untrusted sources, the prototype pollution can happen without authentication. Because the weakness alters object prototypes, additional exploitation steps depend on the application logic that uses the decoded object.

Generated by OpenCVE AI on October 7, 2026 at 00:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the @stablelib/cbor package to version 2.0.4 or later, where the prototype pollution issue is fixed.
  • If an upgrade is not immediately possible, limit use of the CBOR decoder to trusted data sources only, ensuring that untrusted data is never parsed.
  • As a temporary workaround, modify the decoding logic to reject or sanitize any keys named __proto__ or other prototype-related properties before assignment, or rely on a validated CBOR implementation that prevents prototype injection.

Generated by OpenCVE AI on October 7, 2026 at 00:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 09 Oct 2026 09:15:00 +0000

Type Values Removed Values Added
First Time appeared Stablelib
Stablelib stablelib
Vendors & Products Stablelib
Stablelib stablelib

Wed, 07 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 06 Oct 2026 20:00:00 +0000

Type Values Removed Values Added
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.
Title StableLib: Prototype poisoning via `__proto__` map keys in CBOR decoding
Weaknesses CWE-1321
References
Metrics cvssV4_0

{'score': 8.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N'}


Subscriptions

Stablelib Stablelib
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-07T17:07:38.703Z

Reserved: 2026-10-06T16:49:40.590Z

Link: CVE-2026-106448

cve-icon Vulnrichment

Updated: 2026-10-07T15:27:17.575Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-10-06T20:17:26.743

Modified: 2026-10-07T17:16:47.727

Link: CVE-2026-106448

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-09T08:32:04Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')