CVE-2026-49250
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-49250 is a CPU exhaustion (Denial of Service) vulnerability in the @conform-to/dom npm package, specifically in the parseSubmission future API. When parsing FormData or URLSearchParams submissions containing many unique field names, the parser's field-name lookup algorithm triggers excessive synchronous CPU work, enabling an unauthenticated attacker to degrade or crash the application. The vulnerability affects @conform-to/dom versions >= 1.8.0 and < 1.19.4, and was originally published by the maintainer on June 7, 2026, with the advisory added to the GitHub Advisory Database on July 2, 2026. It carries a CVSS v4 base score of 8.7 (High) (GitHub Advisory, Conform Advisory).

Technical details

The root cause is classified as CWE-407 (Inefficient Algorithmic Complexity): the parseSubmission function previously resolved field values by repeatedly scanning all submitted entries for each field name, resulting in O(n²) or worse complexity when many unique field names are present. An unauthenticated remote attacker can exploit this by crafting a FormData or URLSearchParams HTTP request body containing a large number of unique field names, causing the server-side JavaScript event loop to block on synchronous CPU work. No authentication, special privileges, or user interaction is required. The fix changes the algorithm to iterate submitted entries directly (a single pass), eliminating the repeated scans (GitHub Advisory, Conform Advisory).

Impact

Successful exploitation causes high availability impact on the vulnerable system by exhausting CPU resources, which can degrade response times or crash the Node.js application processing the form submission. There is no impact on confidentiality or integrity, and no lateral movement or data exposure risk is associated with this vulnerability. Applications that expose any endpoint using Conform's parseSubmission future API to untrusted input are at risk of service disruption (GitHub Advisory).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time (GitHub Advisory). The vulnerability requires no authentication, no privileges, and no user interaction, making it trivially automatable against any exposed endpoint using the affected API. The CVE status is currently listed as Reserved, and it does not appear in the CISA Known Exploited Vulnerabilities catalog. No EPSS score or threat actor attribution is currently available.

Exploitation steps

  1. Reconnaissance: Identify web applications using @conform-to/dom versions >= 1.8.0 and < 1.19.4 that expose form submission endpoints processed by the parseSubmission future API (e.g., Remix or React Router apps using Conform for form handling).
  2. Craft malicious payload: Construct an HTTP request body (either multipart/form-data or application/x-www-form-urlencoded) containing a very large number of unique field names — for example, thousands of fields named field_0, field_1, ..., field_N.
  3. Submit the request: Send the crafted POST request to the target endpoint that passes the parsed FormData or URLSearchParams to Conform's parseSubmission function.
  4. Trigger CPU exhaustion: The server's parseSubmission function performs repeated linear scans over all submitted entries for each unique field name, causing the Node.js event loop to block on synchronous CPU work and degrading or crashing the application.
  5. Sustain the attack: Repeat requests in rapid succession to maintain CPU saturation and prevent service recovery (GitHub Advisory, Conform Advisory).

Indicators of compromise

  • Network: Unusual POST requests to form submission endpoints with abnormally large bodies containing hundreds or thousands of unique field names; high request rates to a single form-handling route.
  • Logs: Server access logs showing repeated POST requests with large Content-Length values or many form fields; application logs indicating slow or timed-out request processing.
  • Process: Node.js process showing sustained near-100% CPU utilization correlated with incoming HTTP requests; event loop lag metrics spiking during request processing.

Mitigation and workarounds

Upgrade @conform-to/dom to version 1.19.4 or later, which fixes the vulnerability by iterating submitted entries directly rather than performing repeated field-name lookups (GitHub Advisory). As a defense-in-depth measure, enforce request parsing limits before passing untrusted data to Conform — for multipart requests, use @remix-run/form-data-parser with options such as maxParts, maxTotalSize, maxFileSize, maxFiles, and maxHeaderSize. Rate limiting and request body size restrictions at the web server or reverse proxy layer can also reduce exposure.

Community reactions

The vulnerability was reported by security researcher jviide and disclosed responsibly through the edmundhung/conform repository's security advisory process (Conform Advisory). No significant broader media coverage or notable community commentary beyond the advisory has been identified at this time.

Additional resources


SourceThis report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-49250HIGH8.7
  • JavaScript logoJavaScript
  • @conform-to/dom
NoYesSep 14, 2026
CVE-2026-55091HIGH7.5
  • JavaScript logoJavaScript
  • flat-to-nested
NoYesSep 14, 2026
CVE-2026-59960HIGH7.5
  • JavaScript logoJavaScript
  • @argos-ci/core
NoYesSep 14, 2026
CVE-2026-54150MEDIUM6.9
  • JavaScript logoJavaScript
  • next-video
NoYesSep 14, 2026
CVE-2026-57583LOW3.3
  • JavaScript logoJavaScript
  • @openzeppelin/wizard
NoYesSep 14, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management