{"id":"GHSA-89xv-2m56-2m9x","summary":"Next.js: Server-Side Request Forgery in Server Actions on custom servers","details":"## 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","aliases":["CVE-2026-64649"],"modified":"2026-07-22T23:25:39.302232Z","published":"2026-07-22T23:09:48Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2026-07-22T23:09:48Z","nvd_published_at":null,"cwe_ids":["CWE-918"]},"references":[{"type":"WEB","url":"https://github.com/vercel/next.js/security/advisories/GHSA-89xv-2m56-2m9x"},{"type":"WEB","url":"https://github.com/vercel/next.js/commit/b51206321854193208c0805ba42acc49287f942b"},{"type":"WEB","url":"https://github.com/vercel/next.js/commit/e3e5666ccead3a15162793d697af5e48b7cc0498"},{"type":"PACKAGE","url":"https://github.com/vercel/next.js"},{"type":"WEB","url":"https://github.com/vercel/next.js/releases/tag/v15.5.21"},{"type":"WEB","url":"https://github.com/vercel/next.js/releases/tag/v16.2.11"}],"affected":[{"package":{"name":"next","ecosystem":"npm","purl":"pkg:npm/next"},"ranges":[{"type":"SEMVER","events":[{"introduced":"14.1.1"},{"fixed":"15.5.21"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-89xv-2m56-2m9x/GHSA-89xv-2m56-2m9x.json"}},{"package":{"name":"next","ecosystem":"npm","purl":"pkg:npm/next"},"ranges":[{"type":"SEMVER","events":[{"introduced":"16.0.0"},{"fixed":"16.2.11"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/07/GHSA-89xv-2m56-2m9x/GHSA-89xv-2m56-2m9x.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}