Prototype Pollution in Feathersjs Feathers

CVE-2026-54335

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.

Vulnerability class: Prototype Pollution

EPSS: 0.004 (31.9th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 3.7 (Low). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N.

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2026-54335?
CVE-2026-54335 is a low-severity vulnerability in Feathersjs Feathers, classified under Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution). CVSS score: 3.7/10. Published 2026-07-17.
How severe is CVE-2026-54335?
Low severity. CVSS v3 base score is 3.7 out of 10.