@phun-ky/defaults-deep Has a Prototype Pollution issue via Unsafe Recursive Property Merging
Exact source revision recorded 24 Oct 2026 13:17:17 UTC. It does not establish the source's current position. Latest evidence.
osv · GHSA-mj3g-7xcc-x4vh
Published### Impact A prototype pollution vulnerability exists in @phun-ky/defaults-deep prior to version 2.0.5. The library recursively merged user-supplied objects without filtering unsafe property names such as `__proto__`, `constructor`, and `prototype`. An attacker able to supply crafted input could cause properties to be written to `Object.prototype`, resulting in prototype pollution affecting all objects within the running process. Applications that pass untrusted input to `defaultsDeep()` may be impacted. Depending on how the application uses merged objects, this could lead to unexpected behavior, logic bypasses, denial of service, or other security issues. ### Patches This issue has been fixed in version 2.0.5. Users should upgrade to version 2.0.5 or later. The fix prevents unsafe prototype-related keys (`__proto__`, `constructor`, and `prototype`) from being processed during recursive merge operations and includes regression tests covering known prototype pollution vectors. ### Workarounds Users unable to upgrade should ensure that untrusted input is sanitized before being passed to `defaultsDeep()`. At a minimum, applications should reject or remove the following property names from all levels of user-controlled objects: - `__proto__` - `constructor` - `prototype` Upgrading to a patched version remains the recommended mitigation.
- Source published
- 31 Jul 2026 17:49:08 UTC
- Source modified
- 31 Jul 2026 18:11:48 UTC
- Observed here
- 24 Oct 2026 13:17:17 UTC
- Source terms
- GitHub Advisory Database · CC-BY-4.0
Original source record · Cite this exact observation · Complete original publisher JSON
This view projects the publisher's source fields for reading; the original JSON retains additional fields and CVE enrichment containers. Attribution: osv · GitHub Advisory Database · CC-BY-4.0. Source text is retained; field grouping and change labels are provided by ChangeIntel.
CVSS_V3 · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
Publisher rating · HIGH