Skip to content

`devalue.parse` and `devalue.unflatten` emit objects with `__proto__` own properties

Low
elliott-with-the-longest-name-on-github published GHSA-mwv9-gp5h-frr4 Mar 11, 2026

Package

npm devalue (npm)

Affected versions

<= 5.6.3

Patched versions

5.6.4

Description

In some circumstances, devalue.parse and devalue.unflatten could emit objects with __proto__ own properties. This in and of itself is not a security vulnerability (and is possible with, for example, JSON.parse as well), but it can result in prototype injection if downstream code handles it incorrectly:

const result = devalue.parse(/* input creating an object with a __proto__ property */);
const target = {};
Object.assign(target, result); // target's prototype is now polluted

Severity

Low

CVE ID

No known CVE

Weaknesses

No CWEs

Credits