StableLib: Prototype poisoning via `__proto__` map keys in CBOR decoding
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| StableLib | stablelib | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Stablelib | Stablelib |
|
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.401% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Stablelib
Stablelib stablelib |
|
| Vendors & Products |
Stablelib
Stablelib stablelib |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| 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
|