Underscore.deep is a collection of Underscore mixins that operate on nested objects. Versions of underscore.deep
prior to version 0.5.3 are vulnerable to a prototype pollution vulnerability. An attacker can craft a malicious payload and pass it to deepFromFlat
, which would pollute any future Objects created. Any users that have deepFromFlat
or deepPick
(due to its dependency on deepFromFlat
) in their code should upgrade to version 0.5.3 as soon as possible. Users unable to upgrade may mitigate this issue by modifying deepFromFlat
to prevent specific keywords which will prevent this from happening.
The product receives input from an upstream component that specifies multiple attributes, properties, or fields that are to be initialized or updated in an object, but it does not properly control which attributes can be modified.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Underscore.deep | Clever | * | 0.5.3 (excluding) |
If the object contains attributes that were only intended for internal use, then their unexpected modification could lead to a vulnerability. This weakness is sometimes known by the language-specific mechanisms that make it possible, such as mass assignment, autobinding, or object injection.