{"id":"CVE-2025-31137","aliases":["EUVD-2025-9433","GHSA-4q56-crqp-v477"],"status":"published","title":"Remix and React Router allow URL manipulation via Host / X-Forwarded-Host headers","description":"React Router is a multi-strategy router for React bridging the gap from React 18 to React 19. There is a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming Request by putting a URL pathname in the port section of a URL that is part of a Host or X-Forwarded-Host header sent to a Remix/React Router request handler. This issue has been patched and released in Remix 2.16.3 and React Router 7.4.1.","severity":{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.01191,"percentile":0.68365,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":true,"fix_available":true},"cwes":["CWE-444"],"published":"2025-04-01T18:20:32Z","modified":"2026-10-28T02:30:33Z","exploits":[{"source":"pocgithub","id":"pouriam23/vulnerability-in-Remix-React-Router-CVE-2025-31137-","title":"pouriam23/vulnerability-in-Remix-React-Router-CVE-2025-31137-","date":"2025-04-23","url":"https://github.com/pouriam23/vulnerability-in-Remix-React-Router-CVE-2025-31137-"}],"fixes":[{"ecosystem":"npm","package":"@react-router/express","fixed_in":["7.4.1"],"sources":["ghsa","osv"]},{"ecosystem":"npm","package":"@remix-run/express","fixed_in":["2.16.3"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"@react-router/express","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"7.0.0"},{"fixed":"7.4.1"}]}]},{"source":"ghsa","ecosystem":"npm","package":"@remix-run/express","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.11.1"},{"fixed":"2.16.3"}]}]},{"source":"osv","ecosystem":"npm","package":"@react-router/express","ranges":[{"type":"SEMVER","events":[{"introduced":"7.0.0"},{"fixed":"7.4.1"}]}]},{"source":"osv","ecosystem":"npm","package":"@remix-run/express","ranges":[{"type":"SEMVER","events":[{"introduced":"2.11.1"},{"fixed":"2.16.3"}]}]}],"products":[{"vendor":"@tanstack","product":"react-router"},{"vendor":"remix-run","product":"react-router"}],"references":[{"url":"https://github.com/remix-run/react-router/security/advisories/GHSA-4q56-crqp-v477","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-31137","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-4q56-crqp-v477"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/31xxx/CVE-2025-31137.json","tags":["advisory"]},{"url":"https://github.com/remix-run/react-router","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2025-31137","title":"Remix and React Router allow URL manipulation via Host / X-Forwarded-Host headers","description":"React Router is a multi-strategy router for React bridging the gap from React 18 to React 19. There is a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming Request by putting a URL pathname in the port section of a URL that is part of a Host or X-Forwarded-Host header sent to a Remix/React Router request handler. This issue has been patched and released in Remix 2.16.3 and React Router 7.4.1.","status":"published","published":"2025-04-01T18:20:32.66Z","modified":"2025-04-02T15:11:11.594Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-444"],"updated_at":"2026-11-02T14:32:44.763463Z"}],"euvd":[{"id":"EUVD-2025-9433","description":"React Router is a multi-strategy router for React bridging the gap from React 18 to React 19. There is a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming Request by putting a URL pathname in the port section of a URL that is part of a Host or X-Forwarded-Host header sent to a Remix/React Router request handler. This issue has been patched and released in Remix 2.16.3 and React Router 7.4.1.","status":"published","published":"2025-04-01T18:20:32Z","modified":"2025-04-02T15:11:11Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"updated_at":"2026-11-02T20:52:44.834568Z"}],"ghsa":[{"id":"GHSA-4q56-crqp-v477","title":"Remix and React Router allow URL manipulation via Host / X-Forwarded-Host headers","description":"### Impact\n\nWe received a report about a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming `Request` by putting a URL pathname in the port section of a URL that is part of a `Host` or `X-Forwarded-Host` header sent to a Remix/React Router request handler.\n\n### Patches\n\nThis issue has been patched and released in Remix 2.16.3 React Router 7.4.1.\n\n### Credits\n\n- Rachid Allam (zhero;)\n- Yasser Allam (inzo_)","status":"published","published":"2025-04-01T22:23:33Z","modified":"2025-04-01T22:23:35Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-444"],"updated_at":"2026-11-02T14:38:37.325334Z"}],"nvd":[{"id":"CVE-2025-31137","description":"React Router is a multi-strategy router for React bridging the gap from React 18 to React 19. There is a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming Request by putting a URL pathname in the port section of a URL that is part of a Host or X-Forwarded-Host header sent to a Remix/React Router request handler. This issue has been patched and released in Remix 2.16.3 and React Router 7.4.1.","status":"published","published":"2025-04-01T19:15:45.663Z","modified":"2026-06-17T09:09:55.317Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high","assessor":"secondary"}],"cwes":["CWE-444"],"updated_at":"2026-11-02T14:10:58.094557Z"}],"osv":[{"id":"CVE-2025-31137","title":"Remix and React Router allow URL manipulation via Host / X-Forwarded-Host headers","description":"React Router is a multi-strategy router for React bridging the gap from React 18 to React 19. There is a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming Request by putting a URL pathname in the port section of a URL that is part of a Host or X-Forwarded-Host header sent to a Remix/React Router request handler. This issue has been patched and released in Remix 2.16.3 and React Router 7.4.1.","status":"published","published":"2025-04-01T18:20:32.66Z","modified":"2026-10-28T02:30:33.372506015Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-444"],"updated_at":"2026-11-02T15:44:48.02508Z"},{"id":"GHSA-4q56-crqp-v477","title":"Remix and React Router allow URL manipulation via Host / X-Forwarded-Host headers","description":"### Impact\n\nWe received a report about a vulnerability in Remix/React Router that affects all Remix 2 and React Router 7 consumers using the Express adapter. Basically, this vulnerability allows anyone to spoof the URL used in an incoming `Request` by putting a URL pathname in the port section of a URL that is part of a `Host` or `X-Forwarded-Host` header sent to a Remix/React Router request handler.\n\n### Patches\n\nThis issue has been patched and released in Remix 2.16.3 React Router 7.4.1.\n\n### Credits\n\n- Rachid Allam (zhero;)\n- Yasser Allam (inzo_)","status":"published","published":"2025-04-01T22:23:33Z","modified":"2025-04-01T22:42:10.697503Z","cvss":[{"version":"3.0","score":7.5,"vector":"CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","level":"high"}],"cwes":["CWE-444"],"updated_at":"2026-11-02T15:46:37.148947Z"}]}}
