CVE-2026-81176: Svelte devalue: DoS via malformed input
Svelte devalue is a JavaScript library that serializes values into strings when JSON.stringify isn't sufficient for the job. Prior to 5.9.2, devalue.parse does not reject out-of-bounds indices that are greater than or equal to values.length in src/parse.js. A specially crafted untrusted payload can make the parser alternate between array representations, producing quadratic work as the payload grows and causing denial of service in applications that parse untrusted devalue data. This issue is fixed in version 5.9.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Svelte devalueto a version that resolves this vulnerability.Fixed in 5.9.2
Event History
Frequently Asked Questions
Which applications are exposed to this denial-of-service issue?
Applications using devalue versions prior to 5.9.2 are exposed if they call devalue.parse on untrusted devalue data. The impact is denial of service through excessive parser work.
What does an attacker need to exploit the issue?
An attacker needs to supply a specially crafted untrusted payload that reaches devalue.parse. No privileges or user interaction are required according to the provided severity vector.
Are applications affected merely by installing devalue?
The described vulnerable condition is parsing untrusted devalue data with devalue.parse. The data does not establish that applications which never parse untrusted input are affected.
What is the remediation?
Upgrade devalue to version 5.9.2, which fixes the handling of out-of-bounds indices. If an immediate upgrade is not possible, avoid passing untrusted payloads to devalue.parse.