Description
@phun-ky/defaults-deep is a library like lodash defaultsDeep with array preservation and no lodash dependency. Prior to 2.0.5, defaultsDeep() recursively merges user-supplied objects without filtering proto, constructor, and prototype, allowing properties to be written to Object.prototype. This issue is fixed in version 2.0.5.
Published: 2026-07-31
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is a prototype pollution flaw in the defaults-deep library. Unfiltered recursive merging allows an attacker to add or modify properties on Object.prototype, potentially corrupting all objects that inherit from it. This weakness is identified as CWE-1321 and can undermine application correctness and lead to further attacks such as code execution if malicious prototype data is later used in security‑sensitive logic.

Affected Systems

The affected product is the phun-ky defaults-deep JavaScript library, in all releases prior to version 2.0.5. Endpoints that import or depend on this library and accept user‑controlled input objects are at risk. The bug has been fixed in release 2.0.5, which removes prototype, constructor, and prototype properties from the merge process.

Risk and Exploitability

The CVSS score of 7.3 indicates a high severity. The EPSS score of less than 1% suggests low current exploitation probability, and the vulnerability is not listed in CISA’s KEV catalog. Inferred from the description, the attack vector is likely remote, through controlled data sent to an application that performs defaultsDeep on it. If exploited, the attacker could alter global object behavior, enabling a range of downstream attacks.

Generated by OpenCVE AI on August 2, 2026 at 04:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to defaults-deep version 2.0.5 or later to receive the prototype filtering patch
  • Audit all dependencies to ensure no older versions of defaults-deep are in use
  • Validate and sanitize any input objects before passing them to defaultsDeep to mitigate the risk of prototype pollution

Generated by OpenCVE AI on August 2, 2026 at 04:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-mj3g-7xcc-x4vh @phun-ky/defaults-deep Has a Prototype Pollution issue via Unsafe Recursive Property Merging
History

Sun, 02 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
First Time appeared Phun-ky
Phun-ky defaults-deep
Vendors & Products Phun-ky
Phun-ky defaults-deep

Fri, 31 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 31 Jul 2026 18:15:00 +0000

Type Values Removed Values Added
Description @phun-ky/defaults-deep is a library like lodash defaultsDeep with array preservation and no lodash dependency. Prior to 2.0.5, defaultsDeep() recursively merges user-supplied objects without filtering proto, constructor, and prototype, allowing properties to be written to Object.prototype. This issue is fixed in version 2.0.5.
Title @phun-ky/defaults-deep Has a Prototype Pollution issue via Unsafe Recursive Property Merging
Weaknesses CWE-1321
References
Metrics cvssV3_1

{'score': 7.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L'}


Subscriptions

Phun-ky Defaults-deep
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-31T19:00:41.074Z

Reserved: 2026-06-15T23:07:33.233Z

Link: CVE-2026-54737

cve-icon Vulnrichment

Updated: 2026-07-31T18:53:24.009Z

cve-icon NVD

Status : Received

Published: 2026-07-31T18:17:17.330

Modified: 2026-07-31T19:17:10.957

Link: CVE-2026-54737

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T20:32:24Z

Weaknesses
  • CWE-1321

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