Every CVE Search/ Get API key

CVE-2026-21884

React Router SSR XSS in ScrollRestoration

8.2 HighFix available

React Router is a router for React. In @remix-run/react version prior to 2.17.3. and react-router 7.0.0 through 7.11.0, a XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys. There is no impact if server-side rendering in Framework Mode is disabled, or if Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>) is being used. This issue has been patched in @remix-run/react version 2.17.3 and react-router version 7.12.0.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
Low
Availability
None

Exploit likelihood

0.53%Up 0.5 points since Jan 10, 2026
90%50%10%1%

What each source reports

CVE List Score used 8.2

React Router SSR XSS in ScrollRestoration

React Router is a router for React. In @remix-run/react version prior to 2.17.3. and react-router 7.0.0 through 7.11.0, a XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys. There is no impact if server-side rendering in Framework Mode is disabled, or if Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>) is being used. This issue has been patched in @remix-run/react version 2.17.3 and react-router version 7.12.0.

Record
CVE-2026-21884
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Weakness
CWE-79, CWE-79
Updated
2026-11-02
EUVDEUVD-2026-1466 8.2

React Router is a router for React. In @remix-run/react version prior to 2.17.3. and react-router 7.0.0 through 7.11.0, a XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys. There is no impact if server-side rendering in Framework Mode is disabled, or if Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>) is being used. This issue has been patched in @remix-run/react version 2.17.3 and react-router version 7.12.0.

Record
EUVD-2026-1466
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-8v8x-cx79-35w7 8.2

React Router SSR XSS in ScrollRestoration

A XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys.

[!NOTE] This does not impact applications if developers have disabled server-side rendering in Framework Mode, or if they are using Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>).

Record
GHSA-8v8x-cx79-35w7
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
NVD 8.2

React Router is a router for React. In @remix-run/react version prior to 2.17.3. and react-router 7.0.0 through 7.11.0, a XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys. There is no impact if server-side rendering in Framework Mode is disabled, or if Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>) is being used. This issue has been patched in @remix-run/react version 2.17.3 and react-router version 7.12.0.

Record
CVE-2026-21884
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSV 8.2

React Router SSR XSS in ScrollRestoration

React Router is a router for React. In @remix-run/react version prior to 2.17.3. and react-router 7.0.0 through 7.11.0, a XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys. There is no impact if server-side rendering in Framework Mode is disabled, or if Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>) is being used. This issue has been patched in @remix-run/react version 2.17.3 and react-router version 7.12.0.

Record
CVE-2026-21884
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
OSVGHSA-8v8x-cx79-35w7 8.2

React Router SSR XSS in ScrollRestoration

A XSS vulnerability exists in in React Router's <ScrollRestoration> API in Framework Mode when using the getKey/storageKey props during Server-Side Rendering which could allow arbitrary JavaScript execution during SSR if untrusted content is used to generate the keys.

[!NOTE] This does not impact applications if developers have disabled server-side rendering in Framework Mode, or if they are using Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>).

Record
GHSA-8v8x-cx79-35w7
CVSS 3.1
8.2 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N
Weakness
CWE-79
Updated
2026-11-02
Show 17 moreShow less
OSVRHSA-2026:3958 8.5

Red Hat Security Advisory: Red Hat Ansible Automation Platform 2.6 Product Security and Bug Fix Update

Record
RHSA-2026:3958
CVSS 3.1
8.5 HighCVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
OSVCLSA-2026-1788960805 No score

TuxCare security update for 2 packages (3 CVEs)

TuxCare rebuilt 2 packages to address 3 CVEs. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1788960805
Updated
2026-11-02
OSVCLSA-2026-1792161539 No score

TuxCare security update for @remix-run/server-runtime (4 CVEs)

TuxCare rebuilt @remix-run/server-runtime to address 4 CVEs. Fixed in 2.17.0-tuxcare.1.

Record
CLSA-2026-1792161539
Updated
2026-11-02
OSVCLSA-2026-1792161542 No score

TuxCare security update for @remix-run/server-runtime (3 CVEs)

TuxCare rebuilt @remix-run/server-runtime to address 3 CVEs. Fixed in 1.19.3-tuxcare.4.

Record
CLSA-2026-1792161542
Updated
2026-11-02
OSVCLSA-2026-1792253405 No score

TuxCare security update for react-router-dom (1 CVE)

TuxCare rebuilt react-router-dom to address 1 CVE. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792253405
Updated
2026-11-02
OSVCLSA-2026-1792279963 No score

TuxCare security update for @remix-run/react (3 CVEs)

TuxCare rebuilt @remix-run/react to address 3 CVEs. Fixed in 2.17.0-tuxcare.1.

Record
CLSA-2026-1792279963
Updated
2026-11-02
OSVCLSA-2026-1792279967 No score

TuxCare security update for @remix-run/react (2 CVEs)

TuxCare rebuilt @remix-run/react to address 2 CVEs. Fixed in 1.19.3-tuxcare.4.

Record
CLSA-2026-1792279967
Updated
2026-11-02
OSVCLSA-2026-1792419115 No score

TuxCare security update for @react-router/architect (3 CVEs)

TuxCare rebuilt @react-router/architect to address 3 CVEs. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792419115
Updated
2026-11-02
OSVCLSA-2026-1792419193 No score

TuxCare security update for @react-router/cloudflare (3 CVEs)

TuxCare rebuilt @react-router/cloudflare to address 3 CVEs. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792419193
Updated
2026-11-02
OSVCLSA-2026-1792419272 No score

TuxCare security update for @react-router/express (1 CVE)

TuxCare rebuilt @react-router/express to address 1 CVE. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792419272
Updated
2026-11-02
OSVCLSA-2026-1792419630 No score

TuxCare security update for @react-router/node (1 CVE)

TuxCare rebuilt @react-router/node to address 1 CVE. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792419630
Updated
2026-11-02
OSVCLSA-2026-1792421947 No score

TuxCare security update for @react-router/remix-routes-option-adapter (3 CVEs)

TuxCare rebuilt @react-router/remix-routes-option-adapter to address 3 CVEs. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792421947
Updated
2026-11-02
OSVCLSA-2026-1792424735 No score

TuxCare security update for @react-router/dev (1 CVE)

TuxCare rebuilt @react-router/dev to address 1 CVE. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792424735
Updated
2026-11-02
OSVCLSA-2026-1792425411 No score

TuxCare security update for @react-router/fs-routes (3 CVEs)

TuxCare rebuilt @react-router/fs-routes to address 3 CVEs. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792425411
Updated
2026-11-02
OSVCLSA-2026-1792428110 No score

TuxCare security update for @react-router/serve (1 CVE)

TuxCare rebuilt @react-router/serve to address 1 CVE. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792428110
Updated
2026-11-02
OSVCLSA-2026-1792430035 No score

TuxCare security update for create-react-router (3 CVEs)

TuxCare rebuilt create-react-router to address 3 CVEs. Fixed in 7.5.1-tuxcare.10.

Record
CLSA-2026-1792430035
Updated
2026-11-02
OSVROOT-APP-NPM-CVE-2026-21884 No score

CVE-2026-21884 in react-router - Patched by Root

Root has patched CVE-2026-21884 in the react-router package for Root:npm. Multiple fixed versions available.

Record
ROOT-APP-NPM-CVE-2026-21884
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
react-router
npm
7.0.0 up to 7.12.0
7.12.0
@remix-run/react
npm
before 2.17.3
2.17.3
react-router
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.27.5.1-tuxcare.37.5.1-tuxcare.4
Show 5 moreShow less
7.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
react-router-dev
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.27.5.1-tuxcare.37.5.1-tuxcare.4
Show 5 moreShow less
7.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@remix-run/server-runtime
TuxCare:npm
From an advisory covering 4 CVEs
2.17.0-tuxcare.0 up to 2.17.0-tuxcare.1, plus listed versions
2.17.0
2.17.0-tuxcare.1
@remix-run/server-runtime
TuxCare:npm
From an advisory covering 3 CVEs
1.19.3-tuxcare.0 up to 1.19.3-tuxcare.4, plus listed versions
1.19.31.19.3-tuxcare.11.19.3-tuxcare.21.19.3-tuxcare.3
1.19.3-tuxcare.4
react-router-dom
TuxCare:npm
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@remix-run/react
TuxCare:npm
From an advisory covering 3 CVEs
2.17.0-tuxcare.0 up to 2.17.0-tuxcare.1, plus listed versions
2.17.0
2.17.0-tuxcare.1
@remix-run/react
TuxCare:npm
From an advisory covering 2 CVEs
1.19.3-tuxcare.0 up to 1.19.3-tuxcare.4, plus listed versions
1.19.31.19.3-tuxcare.11.19.3-tuxcare.21.19.3-tuxcare.3
1.19.3-tuxcare.4
@react-router/architect
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
Show 38 moreShow less
Affected packages
PackageAffectedFixed
@react-router/cloudflare
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@react-router/express
TuxCare:npm
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@react-router/node
TuxCare:npm
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@react-router/remix-routes-option-adapter
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@react-router/dev
TuxCare:npm
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@react-router/fs-routes
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
@react-router/serve
TuxCare:npm
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
create-react-router
TuxCare:npm
From an advisory covering 2 CVEs
7.5.1-tuxcare.0 up to 7.5.1-tuxcare.10, plus listed versions
7.5.17.5.1-tuxcare.17.5.1-tuxcare.47.5.1-tuxcare.57.5.1-tuxcare.67.5.1-tuxcare.77.5.1-tuxcare.87.5.1-tuxcare.9
7.5.1-tuxcare.10
automation-platform-ui
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:2.6.6-1.el9ap
0:2.6.6-1.el9ap
python3.12-django
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 14 CVEs
before 0:4.2.28-1.el9ap
0:4.2.28-1.el9ap
python3.12-django
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:4.2.28-1.el9ap
0:4.2.28-1.el9ap
receptor
Red Hat:ansible_automation_platform:2.6::el10
From an advisory covering 14 CVEs
before 0:1.6.3-4.el10ap
0:1.6.3-4.el10ap
receptor-debuginfo
Red Hat:ansible_automation_platform:2.6::el10
From an advisory covering 14 CVEs
before 0:1.6.3-4.el10ap
0:1.6.3-4.el10ap
receptor-debugsource
Red Hat:ansible_automation_platform:2.6::el10
From an advisory covering 14 CVEs
before 0:1.6.3-4.el10ap
0:1.6.3-4.el10ap
receptorctl
Red Hat:ansible_automation_platform:2.6::el10
From an advisory covering 14 CVEs
before 0:1.6.3-4.el10ap
0:1.6.3-4.el10ap
receptor
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptorctl
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptor
Red Hat:ansible_automation_platform_inside:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptorctl
Red Hat:ansible_automation_platform_inside:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptor
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptor-debuginfo
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptor-debugsource
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
receptorctl
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:1.6.3-4.el9ap
0:1.6.3-4.el9ap
python3.12-aiohttp
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:3.13.3-2.el9ap
0:3.13.3-2.el9ap
python3.12-aiohttp-debuginfo
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:3.13.3-2.el9ap
0:3.13.3-2.el9ap
python3.12-aiohttp-debugsource
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:3.13.3-2.el9ap
0:3.13.3-2.el9ap
python3.12-protobuf
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:5.29.6-1.el9ap
0:5.29.6-1.el9ap
python3.12-protobuf-debuginfo
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:5.29.6-1.el9ap
0:5.29.6-1.el9ap
python3.12-protobuf-debugsource
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:5.29.6-1.el9ap
0:5.29.6-1.el9ap
automation-controller
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform_developer:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
automation-controller
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
automation-controller-cli
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
automation-controller-server
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
automation-controller-ui
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
automation-controller-venv-tower
Red Hat:ansible_automation_platform:2.6::el9
From an advisory covering 14 CVEs
before 0:4.7.9-1.el9ap
0:4.7.9-1.el9ap
react-router
Root:npm
before 7.12.0-aikido.1
7.12.0-aikido.17.12.0-aikido.27.12.0-aikido.3
@rootio/react-router
Root:npm
before 7.12.0-root.io.1
7.12.0-root.io.17.12.0-root.io.27.12.0-root.io.3

History

History
RecordedChangedSources
affected, facts
affected, aliasesOSV
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-21884 is a high vulnerability (CVSS 8.2) in @tanstack React-router, published January 8, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.53%, the 45th percentile. Fixed in react-router 7.12.0.

References

Show 86 moreShow less
MoveEnter Open