PT-2021-16845 · Npm · Changeset

Published

2021-03-09

·

Updated

2022-05-24

·

CVE-2021-25915

CVSS v3.1

9.8

Critical

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Name of the Vulnerable Software and Affected Versions changeset versions 0.0.1 through 0.2.5
Description The issue allows an attacker to cause a denial of service and may lead to remote code execution due to a prototype pollution vulnerability. The apply() function in the 'changeset' npm module does not check the type of object before assigning a value to a property, which can be abused to create non-existent properties or manipulate existing ones. This can be achieved by supplying a malicious value to the changes argument, including the proto property, allowing an attacker to pollute the Object prototype.
Recommendations For versions 0.0.1 through 0.2.5, consider disabling the apply() function until a patch is available to prevent potential exploitation. Restrict access to the changeset module to minimize the risk of denial of service or remote code execution. Avoid using the changes argument in the apply() function without proper validation to prevent prototype pollution. At the moment, there is no information about a newer version that contains a fix for this vulnerability.

Exploit

Prototype Pollution

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2021-25915
GHSA-2GQW-Q9R9-7F79

Affected Products

Changeset