GHSA-525m-7f82-2mf7
@conform-to/dom parseSubmission vulnerable to CPU exhaustion when parsing many unique form fields
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @conform-to/dom | >= 1.8.0, < 1.19.4 | 1.19.4 |
Details
As written in the advisory (Markdown source, shown as plain text).
A CPU exhaustion vulnerability exists in Conform's [`parseSubmission`](https://conform.guide/api/react/future/parseSubmission) future API when parsing `FormData` or `URLSearchParams` submissions with many unique field names. The parser previously looked up values by field name, which could require repeated scans of the submitted entries and cause excessive synchronous CPU work if an attacker supplies a crafted submission.
> [!NOTE]
> The patched version fixes this by iterating submitted entries directly instead of repeatedly looking up values by field name. Applications that accept untrusted form submissions should still enforce request parsing limits before passing data to Conform. For multipart requests, [@remix-run/form-data-parser](https://www.npmjs.com/package/@remix-run/form-data-parser) provides `maxParts`, `maxTotalSize`, `maxFileSize`, `maxFiles`, and `maxHeaderSize` options.
References
External links from the advisory. They lead to third-party sites.