Skip to content
OpenAdvisories

Package · npm

devalue

25 known vulnerabilities.

6 results · Clear filters · Feed

  • Low 3.7

    Sveltejs devalue before 5.6.4 Prototype Injection via parse and unflatten

    Sveltejs devalue before 5.6.4 contains a prototype injection vulnerability that allows attackers to inject __proto__ own properties into objects returned by devalue.parse and devalue.unflatten. Attackers can supply crafted serialized input that, when downstre…

  • Low 3.7

    Sveltejs devalue before 5.9.3 __proto__ Rejection Bypass via Property-Key Coercion

    devalue before 5.9.3 allows malformed null-prototype object keys to bypass parse's __proto__ rejection through property-key coercion, an incomplete fix for GHSA-mwv9-gp5h-frr4. Attackers can supply crafted payloads that yield objects with a __proto__ own prop…

  • Low —

    devalue: Sparse arrays emitted by uneval cause eager allocation when evaluated

    Evaluating legitimate `uneval` output for a sparse array can allocate memory proportional to its declared length. A tiny serialized value can therefore cause large memory allocation in a consuming browser/runtime. This occurs during evaluation of generated co…

  • Low —

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

    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 …

  • Low —

    devalue affected by CPU and memory amplification from sparse arrays

    Under certain circumstances, serializing sparse arrays using `uneval` or `stringify` could cause CPU and/or memory exhaustion. When this occurs on the server, it results in a DoS. This is extremely difficult to take advantage of in practice, as an attacker wo…

  • Low —

    devalue `uneval`ed code can create objects with polluted prototypes when `eval`ed

    Under certain circumstances, `uneval`ing untrusted data can produce output code that will create objects with polluted prototypes when later `eval`ed, meaning the output data can be a different shape from the input data.