Feathersjs: Prototype pollution in @feathersjs/commons _.merge via JSON-parsed __proto__
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| feathersjs | feathers | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Feathersjs | Feathers |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-28xv-ph75-77wh | Prototype pollution in @feathersjs/commons _.merge via JSON-parsed __proto__ |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.389% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Feathersjs
Feathersjs feathers |
|
| Vendors & Products |
Feathersjs
Feathersjs feathers |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Feathersjs is a framework for creating web APIs and real-time applications with TypeScript or JavaScript. In 5.0.44 and earlier, the _.merge(target, source) utility exported by @feathersjs/commons recursively merges source into target by iterating Object.keys(source). When source was produced by JSON.parse and contains a __proto__, constructor, or prototype key, that key is returned as an own-enumerable property; the recursive merge then resolves target['__proto__'] to Object.prototype and writes attacker-supplied properties onto it, polluting the prototype for all plain objects in the process for the lifetime of the Node process. This issue is fixed in version 5.0.45. | |
| Title | Feathersjs: Prototype pollution in @feathersjs/commons _.merge via JSON-parsed __proto__ | |
| Weaknesses | CWE-1321 | |
| References |
| |
| Metrics |
cvssV3_1
|