sveltejs/devalue · Security
devalue: stringifyAsync can cause an unhandled rejection despite a caught returned promise
- GHSA ID
- GHSA-x5rw-q4pp-hg5g
- Severity
- high
- Published
- Updated
- CVSS v4
- 8.2 · CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Description
When serializing multiple promises, a later promise can reject before an earlier one settles. An internal rejected promise remains unhandled even if the caller catches the returned stringifyAsync promise. Under Node's default unhandled-rejection behavior this can terminate the process. Applications whose asynchronous failures/timing can be influenced by requests are potentially exposed.
This is essentially impossible to exploit, and is much more likely to surface as a developer-introduced bug.
CWEs
- CWE-248 · Uncaught Exception
- CWE-755 · Improper Handling of Exceptional Conditions