ZeroHour

CVE-2025-43864

mass

Cache-Poisoning DoS in React Router 7.2.0-7.5.1 via Request-Forced SPA Mode

CVSS 3.1
7.5 high
EPSS
20%p97
Published
()
Modified
AI analysis

React Router versions 7.2.0 up to (but not including) 7.5.2 contain a flaw (CWE-755) that lets an attacker force an application out of server-side rendering (SSR) into single-page-app (SPA) mode by adding a specific header to an HTTP request. The forced mode switch triggers a rendering error that completely corrupts the returned page, and no privileges or user interaction are required, so any unauthenticated remote request can trigger it. If the application sits behind a cache (CDN, reverse proxy, or similar), the corrupted error response gets cached, poisoning the cache and breaking pages for all subsequent visitors until the cache expires or is purged, yielding a severe availability-only denial of service (CVSS 7.5 High, C:N/I:N/A:H). Only React Router 7.x deployments using SSR are affected; the advisory does not cover older React Router v6 releases or SPA-only usage. The issue is fixed in 7.5.2; no public proof-of-concept or confirmed in-the-wild exploitation is known, but EPSS puts the 30-day exploitation probability at about 20% (97th percentile), so patching urgency is elevated.

What to do: Upgrade to React Router 7.5.2 or later. As interim mitigation, at your CDN/reverse proxy strip or normalize the SPA-mode request header and ensure error responses are not cached (bypass cache or use very short TTLs on errors), and purge caches if corrupted responses have already been stored. Confirm whether your app runs React Router 7.2.0-7.5.1 with SSR behind a cache; pure SPA-mode usage is not affected.

Affected
Remix / React Router project React Router>= 7.2.0 and < 7.5.2 (fixed in 7.5.2)
Estimated exposure
masslikely over 1 million installations/users (react-router is one of the most-downloaded npm packages, on the order of tens of millions of weekly downloads;… — react-router sees tens of millions of weekly npm downloads and the vulnerable range spans most early-2025 React Router v7 releases, so even the subset running SSR in front of a caching layer plausibly exceeds one million installations;…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

React Router is a router for React. Starting in version 7.2.0 and prior to version 7.5.2, it is possible to force an application to switch to SPA mode by adding a header to the request. If the application uses SSR and is forced to switch to SPA, this causes an error that completely corrupts the page. If a cache system is in place, this allows the response containing the error to be cached, resulting in a cache poisoning that strongly impacts the availability of the application. This issue has been patched in version 7.5.2.

Weakness
CWE-755
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

In the news