Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker authenticates with low-privilege account
-
DeliverySubmits crafted redirect URL containing XSS payload
-
ExploitPre-renderer processes redirect and writes unsanitized Location value into static HTML
-
ExecutionVictim navigates to affected pre-rendered page
-
ImpactInjected script executes in victim's browser context
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Framework Mode must be in use with pre-rendering explicitly enabled - applications using Declarative Mode (BrowserRouter) or Data Mode (createBrowserRouter/RouterProvider) are not affected regardless of version. The redirect location must originate from an untrusted or attacker-influenced source (e.g., a user-supplied redirect parameter that is not validated server-side). The CVSS vector PR:L confirms that low-privilege authentication is required - the attacker cannot exploit this anonymously. The CVSS UI:R condition means a victim must navigate to the affected pre-rendered page. These combined prerequisites - specific framework mode, attacker-controlled redirect input, authenticated access, and victim interaction - significantly constrain realistic exploitation beyond the raw CVSS score. |
| Impact | CVSS 5.4 (Medium) with vector AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N. The network attack vector and low complexity indicate the vulnerability is remotely reachable without technical sophistication, but two constraints materially reduce real-world risk: PR:L requires the attacker to hold some authenticated or low-privileged role capable of influencing redirect locations, and UI:R requires a victim to visit the affected pre-rendered page. The Changed Scope (S:C) elevates the score because successful XSS can reach browser-stored credentials or session tokens beyond the vulnerable origin. EPSS data was not provided in available intelligence, so probabilistic exploitation likelihood cannot be quantified. No KEV listing and no public POC exist, suggesting this has not been observed exploited in the wild. The deployment constraint - Framework Mode with pre-rendering specifically - further narrows the realistic attack surface. Overall, this is a genuine medium-severity concern for teams using the specific affected configuration, but not an emergency priority for the broader React ecosystem. |
| Exploit ScenarioDerived | An authenticated low-privilege user (or an attacker who has compromised such an account) submits a crafted redirect URL containing a JavaScript payload as the Location header value through an application endpoint that accepts user-influenced redirects. When the React Router pre-renderer processes this redirect during static site generation, the unsanitized Location value is embedded into the resulting HTML file. A victim who subsequently loads the pre-rendered page triggers execution of the injected script in their browser, potentially exposing session tokens or enabling account takeover. No public exploit code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 02, 2026
Cross-site scripting in React Router's Framework Mode (versions 7.5.1-7.13.1) allows an authenticated attacker with influence over redirect destinations to inject malicious content into statically pre-rendered HTML files via an unsanitized HTTP Location header. Exploitation requires both low-privilege authentication (confirmed by CVSS PR:L) and victim user interaction (UI:R), limiting mass exploitation. No public exploit has been identified at time of analysis, and CISA KEV status is not confirmed. A vendor-released patch exists in version 7.13.2.
RemediationAI
Vendor-released patch: React Router 7.13.2. Teams should upgrade immediately by updating their package dependency - e.g., running npm install react-router@7.13.2 or the equivalent for their package manager. The authoritative advisory is at https://github.com/remix-run/react-router/security/advisories/GHSA-f22v-gfqf-p8f3. If an immediate upgrade is not feasible, a targeted workaround is to disable pre-rendering in Framework Mode, which eliminates the vulnerable static HTML generation path at the cost of losing static-site generation performance benefits - pages would then be rendered dynamically at request time. A second compensating control is to validate and sanitize all redirect Location header values at the application layer before they are returned in server responses, ensuring only allowlisted URLs or properly encoded destinations are used. Neither workaround is a substitute for patching.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
React Router (CPE: cpe:2.3:a:remix-run:react-router:*:*:*:*:*:*:*:*) is a widely-adopted routing library for React applications maintained by the remix-run organization. The vulnerability is rooted in CWE-79 (Improper Neutralization of Input During Web Page Generation - XSS): during static pre-rendering in Framework Mode, the library processes server-side redirect responses and writes the HTTP Location header value directly into generated static HTML files without adequate sanitization or encoding. If the redirect destination is supplied by or influenced by an untrusted source, attacker-controlled content enters the HTML output unescaped. This code path is exclusive to Framework Mode with pre-rendering enabled; the Declarative Mode (BrowserRouter) and Data Mode (createBrowserRouter/RouterProvider) do not perform static HTML generation and are explicitly not affected. The CVSS S:C (Changed Scope) component reflects that the injected script executes in the victim's browser context, outside the application's own origin boundary.
Know when React Router gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
React Router is a router for React. In versions 7.5.1 through 7.13.1, when using Framework Mode with pre-rendering enabled, improper neutralization of the HTTP Location header value can permit Cross-Site Scripting (XSS) in the statically generated HTML files if the redirect location comes from an untrusted source. This does not impact applications using Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>). This is patched in version 7.13.2.
Blast Radius
ecosystem impact- 14 npm packages depend on react-router (7 direct, 8 indirect)
Ecosystem-wide dependent count for version 7.5.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in React Router
View allRemote code execution in React Router 7.0.0 through 7.14.1 affects applications running in Framework Mode by chaining an
Denial of service in React Router 7.0.0-7.14.x and @remix-run/server-runtime 2.10.0-2.17.4 allows remote unauthenticated
Client-side Cross-Site Scripting in React Router 7.7.0 through 7.13.1 affects applications using the unstable React Serv
Open redirect in React Router's programmatic `redirect()` function allows unauthenticated remote attackers to redirect u
React Router is a router for React. In @remix-run/react version prior to 2.17.3. [CVSS 8.2 HIGH]
React Router is a router for React. In @remix-run/react versions 1.15.0 through 2.17.0. [CVSS 7.6 HIGH]
React-Router versions up to 6.30.1 is affected by url redirection to untrusted site (open redirect) (CVSS 6.5).
React Router is a router for React. In @remix-run/server-runtime version prior to 2.17.3. [CVSS 6.5 MEDIUM]
React Router is a router for React. In @remix-run/router version prior to 1.23.2. [CVSS 8.0 HIGH]
Client-side cross-site scripting in React Router 7.7.0 through 7.13.1 allows remote attackers to execute arbitrary scrip
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allVendor StatusVendor
SUSE
Severity: Medium| Product | Status |
|---|---|
| SUSE Linux Enterprise Micro 5.3 | Fixed |
| SUSE Linux Enterprise Micro 5.3 | Fixed |
| SUSE Linux Enterprise Micro 5.4 | Fixed |
| SUSE Linux Enterprise Micro 5.4 | Fixed |
| SUSE Linux Enterprise Micro 5.5 | Fixed |
| SUSE Linux Enterprise Micro 5.5 | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Fixed |
| SUSE Linux Micro 6.0 | Fixed |
| SUSE Linux Micro 6.0 | Fixed |
| SUSE Linux Micro 6.1 | Fixed |
| SUSE Linux Micro 6.1 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Linux Micro 6.2 | Fixed |
| SUSE Manager Client Tools 15 | Fixed |
| SUSE Manager Client Tools for SLE 15 | Fixed |
| SUSE Multi-Linux Manager Client Tools for SLE 15 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Fixed |
| SUSE Manager Proxy LTS 4.3 | Fixed |
| SUSE Manager Proxy Module 4.3 | Fixed |
| SUSE Enterprise Storage 6 | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP5 | Fixed |
| SUSE Linux Enterprise Module for SAP Applications 15 SP6 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Fixed |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Fixed |
| SUSE Manager Proxy Module 4.1 | Fixed |
| SUSE Manager Proxy Module 4.2 | Fixed |
| openSUSE Leap 15.3 | Fixed |
| openSUSE Leap 15.4 | Fixed |
| openSUSE Leap 15.5 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| openSUSE Leap Micro 5.5 | Fixed |
| SUSE Multi Linux Manager Tools SLE-15 | Fixed |
| ses/7.1/ceph/prometheus-server ses/7/ceph/prometheus-server suse/multi-linux-manager/5.2/x86_64/monitoring-prometheus | Fixed |
EUVD-2026-33986
GHSA-f22v-gfqf-p8f3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB