Vulnerability · Published Jan 10, 2026 · Assigned by GitHub_M
CVE-2026-22029React Router vulnerable to XSS via Open Redirects
High 8.0
In plain English
A high-severity cross-site scripting in react-router from remix-run. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.9% (higher than 59% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
React Router is a router for React. In @remix-run/router version prior to 1.23.2 and react-router 7.0.0 through 7.11.0, React Router (and Remix v1/v2) SPA open navigation redirects originating from loaders or actions in Framework Mode, Data Mode, or the unstable RSC modes can result in unsafe URLs causing unintended javascript execution on the client. This is only an issue if you are creating redirect paths from untrusted content or via an open redirect. There is no impact if Declarative Mode (<BrowserRouter>) is being used. This issue has been patched in @remix-run/router version 1.23.2 and react-router version 7.12.0.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| npm | @remix-run/router | 1.23.2 | GHSA-2w69-qvjg-hvjx |
| npm | react-router | 7.12.0 | GHSA-2w69-qvjg-hvjx |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| remix-run | react-router | >= 7.0.0, < 7.12.0 |
| remix-run | @remix-run/router | < 1.23.2 |
Weakness: CWE-79 · Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:N
References
- https://github.com/remix-run/react-router/security/advisories/GHSA-2w69-qvjg-hvjx x_refsource_CONFIRM
- https://access.redhat.com/security/cve/CVE-2026-22029 vdb-entry, x_refsource_REDHAT
- RHBZ#2428412 issue-tracking, x_refsource_REDHAT
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-22029.json x_sadp-csaf-vex
- https://access.redhat.com/errata/RHSA-2026:3959 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:3958 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:41064 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:5633 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:8229 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:36882 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2572 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:13548 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:1517 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2350 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2568 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:3960 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2694 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:36651 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:40945 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:40118 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:41928 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:3782 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:19712 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:34100 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:21658 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:20042 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:20041 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:17469 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:17468 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:17474 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2456 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2147 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2148 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:2149 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:26420 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:26413 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:40984 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:3087 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:13542 vendor-advisory, x_refsource_REDHAT
- https://access.redhat.com/errata/RHSA-2026:9848 vendor-advisory, x_refsource_REDHAT