CVE-2026-22030

Source
https://cve.org/CVERecord?id=CVE-2026-22030
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22030.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-22030
Aliases
Published
2026-01-10T02:42:44.603Z
Modified
2026-01-15T05:55:48.816477Z
Severity
  • 6.5 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N CVSS Calculator
Summary
React Router has CSRF issue in Action/Server Action Request Processing
Details

React Router is a router for React. In @remix-run/server-runtime version prior to 2.17.3. and react-router 7.0.0 through 7.11.0, React Router (or Remix v2) is vulnerable to CSRF attacks on document POST requests to UI routes when using server-side route action handlers in Framework Mode, or when using React Server Actions in the new unstable RSC modes. There is no impact if Declarative Mode (<BrowserRouter>) or Data Mode (createBrowserRouter/<RouterProvider>) is being used. This issue has been patched in @remix-run/server-runtime version 2.17.3 and react-router version 7.12.0.

Database specific
{
    "cwe_ids": [
        "CWE-346",
        "CWE-352"
    ],
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/22xxx/CVE-2026-22030.json"
}
References

Affected packages

Git / github.com/remix-run/react-router

Affected ranges

Type
GIT
Repo
https://github.com/remix-run/react-router
Events

Affected versions

7.*
7.6.2
@react-router/architect@7.*
@react-router/architect@7.0.0
@react-router/architect@7.0.1
@react-router/architect@7.0.2
@react-router/architect@7.1.0
@react-router/architect@7.1.1
@react-router/architect@7.1.2
@react-router/architect@7.1.3
@react-router/architect@7.1.4
@react-router/architect@7.1.5
@react-router/architect@7.10.0
@react-router/architect@7.10.1
@react-router/architect@7.11.0
@react-router/architect@7.2.0
@react-router/architect@7.3.0
@react-router/architect@7.4.0
@react-router/architect@7.4.1
@react-router/architect@7.5.0
@react-router/architect@7.5.1
@react-router/architect@7.5.2
@react-router/architect@7.5.3
@react-router/architect@7.6.0
@react-router/architect@7.6.1
@react-router/architect@7.6.3
@react-router/architect@7.7.0
@react-router/architect@7.7.1
@react-router/architect@7.8.0
@react-router/architect@7.8.1
@react-router/architect@7.8.2
@react-router/architect@7.9.0
@react-router/architect@7.9.1
@react-router/architect@7.9.2
@react-router/architect@7.9.3
@react-router/architect@7.9.4
@react-router/architect@7.9.5
@react-router/architect@7.9.6
@react-router/cloudflare@7.*
@react-router/cloudflare@7.0.0
@react-router/cloudflare@7.0.1
@react-router/cloudflare@7.0.2
@react-router/cloudflare@7.1.0
@react-router/cloudflare@7.1.1
@react-router/cloudflare@7.1.2
@react-router/cloudflare@7.1.3
@react-router/cloudflare@7.1.4
@react-router/cloudflare@7.1.5
@react-router/cloudflare@7.10.0
@react-router/cloudflare@7.10.1
@react-router/cloudflare@7.11.0
@react-router/cloudflare@7.2.0
@react-router/cloudflare@7.3.0
@react-router/cloudflare@7.4.0
@react-router/cloudflare@7.4.1
@react-router/cloudflare@7.5.0
@react-router/cloudflare@7.5.1
@react-router/cloudflare@7.5.2
@react-router/cloudflare@7.5.3
@react-router/cloudflare@7.6.0
@react-router/cloudflare@7.6.1
@react-router/cloudflare@7.6.3
@react-router/cloudflare@7.7.0
@react-router/cloudflare@7.7.1
@react-router/cloudflare@7.8.0
@react-router/cloudflare@7.8.1
@react-router/cloudflare@7.8.2
@react-router/cloudflare@7.9.0
@react-router/cloudflare@7.9.1
@react-router/cloudflare@7.9.2
@react-router/cloudflare@7.9.3
@react-router/cloudflare@7.9.4
@react-router/cloudflare@7.9.5
@react-router/cloudflare@7.9.6
@react-router/dev@7.*
@react-router/dev@7.0.0
@react-router/dev@7.0.1
@react-router/dev@7.0.2
@react-router/dev@7.1.0
@react-router/dev@7.1.1
@react-router/dev@7.1.2
@react-router/dev@7.1.3
@react-router/dev@7.1.4
@react-router/dev@7.1.5
@react-router/dev@7.10.0
@react-router/dev@7.10.1
@react-router/dev@7.11.0
@react-router/dev@7.2.0
@react-router/dev@7.3.0
@react-router/dev@7.4.0
@react-router/dev@7.4.1
@react-router/dev@7.5.0
@react-router/dev@7.5.1
@react-router/dev@7.5.2
@react-router/dev@7.5.3
@react-router/dev@7.6.0
@react-router/dev@7.6.1
@react-router/dev@7.6.3
@react-router/dev@7.7.0
@react-router/dev@7.7.1
@react-router/dev@7.8.0
@react-router/dev@7.8.1
@react-router/dev@7.8.2
@react-router/dev@7.9.0
@react-router/dev@7.9.1
@react-router/dev@7.9.2
@react-router/dev@7.9.3
@react-router/dev@7.9.4
@react-router/dev@7.9.5
@react-router/dev@7.9.6
@react-router/express@7.*
@react-router/express@7.0.0
@react-router/express@7.0.1
@react-router/express@7.0.2
@react-router/express@7.1.0
@react-router/express@7.1.1
@react-router/express@7.1.2
@react-router/express@7.1.3
@react-router/express@7.1.4
@react-router/express@7.1.5
@react-router/express@7.10.0
@react-router/express@7.10.1
@react-router/express@7.11.0
@react-router/express@7.2.0
@react-router/express@7.3.0
@react-router/express@7.4.0
@react-router/express@7.4.1
@react-router/express@7.5.0
@react-router/express@7.5.1
@react-router/express@7.5.2
@react-router/express@7.5.3
@react-router/express@7.6.0
@react-router/express@7.6.1
@react-router/express@7.6.3
@react-router/express@7.7.0
@react-router/express@7.7.1
@react-router/express@7.8.0
@react-router/express@7.8.1
@react-router/express@7.8.2
@react-router/express@7.9.0
@react-router/express@7.9.1
@react-router/express@7.9.2
@react-router/express@7.9.3
@react-router/express@7.9.4
@react-router/express@7.9.5
@react-router/express@7.9.6
@react-router/fs-routes@7.*
@react-router/fs-routes@7.0.0
@react-router/fs-routes@7.0.1
@react-router/fs-routes@7.0.2
@react-router/fs-routes@7.1.0
@react-router/fs-routes@7.1.1
@react-router/fs-routes@7.1.2
@react-router/fs-routes@7.1.3
@react-router/fs-routes@7.1.4
@react-router/fs-routes@7.1.5
@react-router/fs-routes@7.10.0
@react-router/fs-routes@7.10.1
@react-router/fs-routes@7.11.0
@react-router/fs-routes@7.2.0
@react-router/fs-routes@7.3.0
@react-router/fs-routes@7.4.0
@react-router/fs-routes@7.4.1
@react-router/fs-routes@7.5.0
@react-router/fs-routes@7.5.1
@react-router/fs-routes@7.5.2
@react-router/fs-routes@7.5.3
@react-router/fs-routes@7.6.0
@react-router/fs-routes@7.6.1
@react-router/fs-routes@7.6.3
@react-router/fs-routes@7.7.0
@react-router/fs-routes@7.7.1
@react-router/fs-routes@7.8.0
@react-router/fs-routes@7.8.1
@react-router/fs-routes@7.8.2
@react-router/fs-routes@7.9.0
@react-router/fs-routes@7.9.1
@react-router/fs-routes@7.9.2
@react-router/fs-routes@7.9.3
@react-router/fs-routes@7.9.4
@react-router/fs-routes@7.9.5
@react-router/fs-routes@7.9.6
@react-router/node@7.*
@react-router/node@7.0.0
@react-router/node@7.0.1
@react-router/node@7.0.2
@react-router/node@7.1.0
@react-router/node@7.1.1
@react-router/node@7.1.2
@react-router/node@7.1.3
@react-router/node@7.1.4
@react-router/node@7.1.5
@react-router/node@7.10.0
@react-router/node@7.10.1
@react-router/node@7.11.0
@react-router/node@7.2.0
@react-router/node@7.3.0
@react-router/node@7.4.0
@react-router/node@7.4.1
@react-router/node@7.5.0
@react-router/node@7.5.1
@react-router/node@7.5.2
@react-router/node@7.5.3
@react-router/node@7.6.0
@react-router/node@7.6.1
@react-router/node@7.6.3
@react-router/node@7.7.0
@react-router/node@7.7.1
@react-router/node@7.8.0
@react-router/node@7.8.1
@react-router/node@7.8.2
@react-router/node@7.9.0
@react-router/node@7.9.1
@react-router/node@7.9.2
@react-router/node@7.9.3
@react-router/node@7.9.4
@react-router/node@7.9.5
@react-router/node@7.9.6
@react-router/remix-routes-option-adapter@7.*
@react-router/remix-routes-option-adapter@7.0.0
@react-router/remix-routes-option-adapter@7.0.1
@react-router/remix-routes-option-adapter@7.0.2
@react-router/remix-routes-option-adapter@7.1.0
@react-router/remix-routes-option-adapter@7.1.1
@react-router/remix-routes-option-adapter@7.1.2
@react-router/remix-routes-option-adapter@7.1.3
@react-router/remix-routes-option-adapter@7.1.4
@react-router/remix-routes-option-adapter@7.1.5
@react-router/remix-routes-option-adapter@7.10.0
@react-router/remix-routes-option-adapter@7.10.1
@react-router/remix-routes-option-adapter@7.11.0
@react-router/remix-routes-option-adapter@7.2.0
@react-router/remix-routes-option-adapter@7.3.0
@react-router/remix-routes-option-adapter@7.4.0
@react-router/remix-routes-option-adapter@7.4.1
@react-router/remix-routes-option-adapter@7.5.0
@react-router/remix-routes-option-adapter@7.5.1
@react-router/remix-routes-option-adapter@7.5.2
@react-router/remix-routes-option-adapter@7.5.3
@react-router/remix-routes-option-adapter@7.6.0
@react-router/remix-routes-option-adapter@7.6.1
@react-router/remix-routes-option-adapter@7.6.3
@react-router/remix-routes-option-adapter@7.7.0
@react-router/remix-routes-option-adapter@7.7.1
@react-router/remix-routes-option-adapter@7.8.0
@react-router/remix-routes-option-adapter@7.8.1
@react-router/remix-routes-option-adapter@7.8.2
@react-router/remix-routes-option-adapter@7.9.0
@react-router/remix-routes-option-adapter@7.9.1
@react-router/remix-routes-option-adapter@7.9.2
@react-router/remix-routes-option-adapter@7.9.3
@react-router/remix-routes-option-adapter@7.9.4
@react-router/remix-routes-option-adapter@7.9.5
@react-router/remix-routes-option-adapter@7.9.6
@react-router/serve@7.*
@react-router/serve@7.0.0
@react-router/serve@7.0.1
@react-router/serve@7.0.2
@react-router/serve@7.1.0
@react-router/serve@7.1.1
@react-router/serve@7.1.2
@react-router/serve@7.1.3
@react-router/serve@7.1.4
@react-router/serve@7.1.5
@react-router/serve@7.10.0
@react-router/serve@7.10.1
@react-router/serve@7.11.0
@react-router/serve@7.2.0
@react-router/serve@7.3.0
@react-router/serve@7.4.0
@react-router/serve@7.4.1
@react-router/serve@7.5.0
@react-router/serve@7.5.1
@react-router/serve@7.5.2
@react-router/serve@7.5.3
@react-router/serve@7.6.0
@react-router/serve@7.6.1
@react-router/serve@7.6.3
@react-router/serve@7.7.0
@react-router/serve@7.7.1
@react-router/serve@7.8.0
@react-router/serve@7.8.1
@react-router/serve@7.8.2
@react-router/serve@7.9.0
@react-router/serve@7.9.1
@react-router/serve@7.9.2
@react-router/serve@7.9.3
@react-router/serve@7.9.4
@react-router/serve@7.9.5
@react-router/serve@7.9.6
create-react-router@7.*
create-react-router@7.0.0
create-react-router@7.0.1
create-react-router@7.0.2
create-react-router@7.1.0
create-react-router@7.1.1
create-react-router@7.1.2
create-react-router@7.1.3
create-react-router@7.1.4
create-react-router@7.1.5
create-react-router@7.10.0
create-react-router@7.10.1
create-react-router@7.11.0
create-react-router@7.2.0
create-react-router@7.3.0
create-react-router@7.4.0
create-react-router@7.4.1
create-react-router@7.5.0
create-react-router@7.5.1
create-react-router@7.5.2
create-react-router@7.5.3
create-react-router@7.6.0
create-react-router@7.6.1
create-react-router@7.6.3
create-react-router@7.7.0
create-react-router@7.7.1
create-react-router@7.8.0
create-react-router@7.8.1
create-react-router@7.8.2
create-react-router@7.9.0
create-react-router@7.9.1
create-react-router@7.9.2
create-react-router@7.9.3
create-react-router@7.9.4
create-react-router@7.9.5
create-react-router@7.9.6
react-router-dom@7.*
react-router-dom@7.0.0
react-router-dom@7.0.1
react-router-dom@7.0.2
react-router-dom@7.1.0
react-router-dom@7.1.1
react-router-dom@7.1.2
react-router-dom@7.1.3
react-router-dom@7.1.4
react-router-dom@7.1.5
react-router-dom@7.10.0
react-router-dom@7.10.1
react-router-dom@7.11.0
react-router-dom@7.2.0
react-router-dom@7.3.0
react-router-dom@7.4.0
react-router-dom@7.4.1
react-router-dom@7.5.0
react-router-dom@7.5.1
react-router-dom@7.5.2
react-router-dom@7.5.3
react-router-dom@7.6.0
react-router-dom@7.6.1
react-router-dom@7.6.3
react-router-dom@7.7.0
react-router-dom@7.7.1
react-router-dom@7.8.0
react-router-dom@7.8.1
react-router-dom@7.8.2
react-router-dom@7.9.0
react-router-dom@7.9.1
react-router-dom@7.9.2
react-router-dom@7.9.3
react-router-dom@7.9.4
react-router-dom@7.9.5
react-router-dom@7.9.6
react-router@7.*
react-router@7.0.0
react-router@7.0.1
react-router@7.0.2
react-router@7.1.0
react-router@7.1.1
react-router@7.1.2
react-router@7.1.3
react-router@7.1.4
react-router@7.1.5
react-router@7.10.0
react-router@7.10.1
react-router@7.11.0
react-router@7.2.0
react-router@7.3.0
react-router@7.4.0
react-router@7.4.1
react-router@7.5.0
react-router@7.5.1
react-router@7.5.2
react-router@7.5.3
react-router@7.6.0
react-router@7.6.1
react-router@7.6.2
react-router@7.6.3
react-router@7.7.0
react-router@7.7.1
react-router@7.8.0
react-router@7.8.1
react-router@7.8.2
react-router@7.9.0
react-router@7.9.1
react-router@7.9.2
react-router@7.9.3
react-router@7.9.4
react-router@7.9.5
react-router@7.9.6

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-22030.json"