React Router SSR XSS in ScrollRestoration
A XSS vulnerability exists in in React Router's `<ScrollRestoration>` API in [Framework Mode](https://reactrouter.com/start/modes#framework) 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](https://reactrouter.com/how-to/spa) in Framework Mode, or if they are using [Declarative Mode](https://reactrouter.com/start/modes#declarative) (`<BrowserRouter>`) or [Data Mode](https://reactrouter.com/start/modes#data) (`createBrowserRouter`/`<RouterProvider>`).
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-21884US | — | — | ||
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 <ScrollResto… | ||||
references
External citations — patches, advisories, analysis.
- https://access.redhat.com/errata/RHSA-2026:19712WEB
- https://access.redhat.com/errata/RHSA-2026:3782WEB
- https://access.redhat.com/errata/RHSA-2026:3958WEB
- https://access.redhat.com/errata/RHSA-2026:3960WEB
- https://access.redhat.com/security/cve/CVE-2026-21884WEB
- https://bugzilla.redhat.com/show_bug.cgi?id=2428421WEB
- https://github.com/remix-run/react-routerPACKAGE
- https://github.com/remix-run/react-router/blob/react-router%407.12.0/CHANGELOG.md#v7120WEB
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan