CVE-2025-43864
published 2025-04-25CVE-2025-43864: 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…
PriorityP353high7.5CVSS 3.1
AVNACLPRNUINSUCNINAH
EPSS
23.63%
97.5th percentile
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.
Affected
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| remix-run | react-router | — | — |
| remix-run | react-router | >= 7.2.0 < 7.5.2 | 7.5.2 |
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vendor_redhat7.5HIGH
Stop checking back — get the weekly exploitation signal.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
Red Hat
react-router: React Router allows a DoS via cache poisoning by forcing SPA mode
vendor_redhat·2025-04-25·CVSS 7.5
CVE-2025-43864 [HIGH] CWE-755 react-router: React Router allows a DoS via cache poisoning by forcing SPA mode
react-router: React Router allows a DoS via cache poisoning by forcing SPA mode
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.
A flaw was found in the React Router. This vulnerability allows an attacker to trigger a rendering error via a crafted X-React-Router-SPA-Mode header, which can result in cache poisoning. I
GHSA
React Router allows a DoS via cache poisoning by forcing SPA mode
ghsa·2025-04-24
CVE-2025-43864 [HIGH] CWE-755 React Router allows a DoS via cache poisoning by forcing SPA mode
React Router allows a DoS via cache poisoning by forcing SPA mode
## Summary
After some research, it turns out that 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.
## Details
The vulnerable header is `X-React-Router-SPA-Mode`; adding it to a request sent to a page/endpoint using a loader throws an error. Here is [the vulnerable code](https://github.com/remix-run/react-router/blob/e6c53a0130559b4a9bd47f9cf76ea5b08a69868a/packages/react-router/lib/ser
OSV
React Router allows a DoS via cache poisoning by forcing SPA mode
osv·2025-04-24
CVE-2025-43864 [HIGH] React Router allows a DoS via cache poisoning by forcing SPA mode
React Router allows a DoS via cache poisoning by forcing SPA mode
## Summary
After some research, it turns out that 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.
## Details
The vulnerable header is `X-React-Router-SPA-Mode`; adding it to a request sent to a page/endpoint using a loader throws an error. Here is [the vulnerable code](https://github.com/remix-run/react-router/blob/e6c53a0130559b4a9bd47f9cf76ea5b08a69868a/packages/react-router/lib/ser
No detection rules found.
No public exploits indexed.
https://github.com/remix-run/react-router/blob/e6c53a0130559b4a9bd47f9cf76ea5b08a69868a/packages/react-router/lib/server-runtime/server.ts#L407https://github.com/remix-run/react-router/commit/c84302972a152d851cf5dd859ff332b354b70111https://github.com/remix-run/react-router/security/advisories/GHSA-f46r-rw29-r322
2025-04-25
Published