HighGHSA-89xv-2m56-2m9xCVE-2026-64649

Next.js: Server-Side Request Forgery in Server Actions on custom servers

Published 22 Jul 2026 · Updated 10 Sept 2026

Affected packages

nextnpm
Affected
>=14.1.1 <15.5.21
Fixed in
15.5.21
Update to the fixed version for your release line, for example:npm install next@15.5.21
nextnpm
Affected
>=16.0.0 <16.2.11
Fixed in
16.2.11
Update to the fixed version for your release line, for example:npm install next@16.2.11

Details

Impact

When 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.

Applications 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.

Workarounds

If 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:

__NEXT_PRIVATE_ORIGIN=https://www.example.com node server.js

Is GHSA-89xv-2m56-2m9x in any of your client repos?

Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected next, and gives you the command that fixes it.

References

Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.