
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-21884 is a Cross-Site Scripting (XSS) vulnerability in React Router's ScrollRestoration API, specifically affecting applications using Framework Mode with Server-Side Rendering (SSR). The flaw allows arbitrary JavaScript execution during SSR when untrusted content is used to generate getKey or storageKey props. It was disclosed on January 8, 2026, via a GitHub Security Advisory, and published to the NVD on January 10, 2026. Affected versions include react-router 7.0.0–7.11.0 (and 7.12.0 in some sources) and @remix-run/react prior to 2.17.3. It carries a CVSS v3.1 base score of 8.2 (High) (GitHub Advisory, React Router Advisory).
The root cause is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation — Cross-Site Scripting). The vulnerability exists in the ScrollRestoration component's getKey and storageKey props: when these props are populated with untrusted, user-controlled input during server-side rendering in Framework Mode, the values are rendered into the HTML output without proper sanitization, enabling injection of arbitrary JavaScript. Exploitation requires no privileges and low attack complexity, but does require user interaction (e.g., a victim visiting a crafted URL or page). Applications using Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>), or those with SSR disabled, are not affected (GitHub Advisory, React Router Advisory).
Successful exploitation can result in high confidentiality impact and low integrity impact, with no availability impact. An unauthenticated remote attacker who tricks a user into visiting a malicious page can execute arbitrary JavaScript in the victim's browser context during SSR, potentially accessing sensitive data rendered server-side, stealing session tokens, or performing actions on behalf of the user. Multiple IBM products that bundle React Router or Remix are also affected, broadening the potential attack surface to enterprise environments including IBM Cloud Pak for Automation, IBM API Connect, IBM watsonx, and IBM Carbon Charts (GitHub Advisory, Feedly).
No public proof-of-concept exploit code has been identified, and there is no evidence of in-the-wild exploitation at this time. The EPSS score is approximately 0.041% (0.00041), indicating a low near-term exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Detection plugins are available via Nessus (plugin 282620) and Qualys (plugin 151074) (GitHub Advisory, Feedly).
@remix-run/react < 2.17.3 that use Framework Mode with SSR enabled and render the <ScrollRestoration> component with user-controlled getKey or storageKey props.getKey or storageKey value, for example: storageKey="</script><script>alert(document.cookie)</script>".ScrollRestoration props during SSR.ScrollRestoration key parameters; access logs with encoded script payloads (%3Cscript%3E, </script>, etc.) in request parameters.The primary remediation is to upgrade to React Router 7.12.0 or later (patched), or @remix-run/react 2.17.3 or later. As a workaround, developers can disable server-side rendering in Framework Mode, or migrate to Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>), which are not affected by this vulnerability. IBM has issued multiple security bulletins for affected products and recommends applying the relevant iFixes or product updates (GitHub Advisory, React Router Advisory, IBM Security Bulletin).
The vulnerability was coordinated by arthurgervais and reported by zaddy6, with the advisory published by brophdawg11 (a React Router maintainer) on January 8, 2026. IBM issued multiple security bulletins across its product portfolio acknowledging the impact. The vulnerability received coverage in security news aggregators and was noted in Hacker News-style weekly recaps, though it did not generate significant community controversy given the absence of active exploitation (React Router Advisory, IBM Security Bulletin).
Fix availability across major Linux distributions and their releases.
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."