{"id":"GHSA-89xv-2m56-2m9x","revision":"6215d6159b6f43fab372b84ca4213769","records":[{"revision":"6215d6159b6f43fab372b84ca4213769","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-89xv-2m56-2m9x","aliases":["CVE-2026-64649"],"title":"Next.js: Server-Side Request Forgery in Server Actions on custom servers","description":"## Impact\n\nWhen a Server Action forwards or redirects a request, an attacker can cause the server to send that outbound request to a malicious host (Server-Side Request Forgery). This requires the attacker's request to control Host-associated headers. In some configurations, it's also possible to obtain internal values that weaken middleware/proxy authorization.\n\nApplications that use Server Actions are affected when the incoming host header is not fixed to a trusted value. This typically occurs on custom servers, or on deployments not behind a proxy that pins the host. Managed hosting pins the host upstream and is not affected; `next start` and standalone output do the same from version 14.2 onward.\n\n## Workarounds\n\nIf you cannot upgrade, ensure clients do not control the host header your application receives. Pin or validate `Host` and `X-Forwarded-Host` at your edge or proxy. On version 14.2.0 and later, you can additionally set the `__NEXT_PRIVATE_ORIGIN` environment variable to your deployment's real origin:\n\n```bash\n__NEXT_PRIVATE_ORIGIN=https://www.example.com node server.js","state":0,"publishedAt":"2026-07-22T23:09:48+00:00","modifiedAt":"2026-09-10T03:50:51.5474746+00:00","affected":[{"ecosystem":"npm","name":"next","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"14.1.1"},{"kind":"fixed","version":"15.5.21"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"npm","name":"next","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"16.0.0"},{"kind":"fixed","version":"16.2.11"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/vercel/next.js/security/advisories/GHSA-89xv-2m56-2m9x","https://github.com/vercel/next.js/commit/b51206321854193208c0805ba42acc49287f942b","https://github.com/vercel/next.js/commit/e3e5666ccead3a15162793d697af5e48b7cc0498","https://github.com/vercel/next.js","https://github.com/vercel/next.js/releases/tag/v15.5.21","https://github.com/vercel/next.js/releases/tag/v16.2.11"],"sourceUrl":"https://github.com/advisories/GHSA-89xv-2m56-2m9x","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-89xv-2m56-2m9x","identifiers":["GHSA-89xv-2m56-2m9x","CVE-2026-64649"]},"retained":false,"historicalAffected":[]}],"coverage":[]}