High, CVSS 7.5npmAmendedPublished
@theecryptochad/merge-guard has Prototype Pollution in its deepMerge() function
GHSA-mhwj-73qx-jqxm
- Affected
- npm @theecryptochad/merge-guard < 1.0.1
- Fixed in
- 1.0.1· Vendor fix available
- Issue
- @theecryptochad/merge-guard versions prior to 1.0.1 are vulnerable to Prototype Pollution via the deepMerge() function. An attacker who controls the source object can inject proto keys that mutate Object.prototype, affecting all objects in the Node.js runtime. Details The deepMerge() function recursively merges two objects without sanitizing reserved property keys (proto, constructor, prototype). When a source object contains a proto key, its value is assigned to target.proto, which JavaScript engines interpret as a write to Object.prototype. Proof of Concept Impact Any application using deepMerge() with untrusted input (e.g. user-supplied JSON from HTTP requests, WebSocket messages, or config files) is vulnerable. An attacker can inject arbitrary properties onto Object.prototype, enabling privilege escalation, application logic bypass, and property injection. Remediation Upgrade to @theecryptochad/merge-guard = 1.0.1, which adds an explicit blocklist: References - CWE-1321:…
Recommended action: Upgrade to 1.0.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.