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

References