Denial of service via unchecked recursive property assignment
Published May 25, 2021 · Updated Aug 3, 2024
Prototype pollution in d5 deep-defaults 1.0.0 through 1.0.5 allows remote attackers to disrupt service via crafted source objects. The _deepDefaults() function recursively assigns src properties without checking value types or requiring each key to be an own property, so a proto key modifies Object.prototype. Reachability depends on a consuming application passing attacker-controlled objects to the library; denial of service is application-dependent, and code execution requires a suitable gadget.
Summary
What happened
Prototype pollution in d5 deep-defaults 1.0.0 through 1.0.5 allows remote attackers to disrupt service via crafted source objects. The _deepDefaults() function recursively assigns src properties without checking value types or requiring each key to be an own property, so a proto key modifies Object.prototype. Reachability depends on a consuming application passing attacker-controlled objects to the library; denial of service is application-dependent, and code execution requires a suitable gadget.
The record
- CVE
- CVE-2021-25944
- Published
- May 25, 2021
- Updated
- Aug 3, 2024
- Vendor
- d5
- Product
- deep-defaults
- Classifications
- CWE-1321
- Attack vector
- network
- Privileges
- unauthenticated
Timeline
How it unfolded
- May 25, 2021CVE publishedPublication date reported by the CVE source.
- Aug 3, 2024Record updatedLatest update available in the CVE record.
Exploitability
Present is not the same as exploitable
Compare your product and version with the public record. A matching version still requires validation against your environment.
Is a vulnerable build present?
Compare these published version ranges with your installed build and any vendor patches.
- Affected versionversion=1.0.5, 1.0.3, 1.0.2, 1.0.1, 1.0.0
What conditions does exploitation require?
What is affected?
Attacks
What attackers are doing with it
Daily unique IPs observed by Shadowserver honeypots for known exploited vulnerabilities (KEVs). Missing observations do not establish an absence of attacks.
Weakness, pattern, technique
Public exploit references
- GitHub Advisory Database prototype-pollution proof of conceptproof of concept · demonstrated
Labels summarize the accepted research assessment. They do not indicate a test against your environment.
Technologies
Your stack
See the directory against your own environment.
Your stack
Check the software in your environment
Book a demo to see how Hinoki identifies affected software and validates exploitability in your environment.
Book a demo