Next.js vulnerable to cross-site scripting in App Router applications using CSP nonces
Published 11 May 2026 · Updated 10 Sept 2026
Affected packages
- Affected
- >=13.4.0 <15.5.16
- Fixed in
- 15.5.16
npm install next@15.5.16- Affected
- >=16.0.0 <16.2.5
- Fixed in
- 16.2.5
npm install next@16.2.5Details
Impact
App Router applications that rely on CSP nonces can be vulnerable to stored cross-site scripting when deployed behind shared caches. In affected versions, malformed nonce values derived from request headers could be reflected into rendered HTML in an unsafe way, allowing an attacker to poison cached responses and cause script execution for later visitors.
Fix
We now reject or ignore malformed nonce values before they are embedded into HTML and apply stricter nonce sanitization so request-derived nonce data cannot break out of the intended attribute context.
Workarounds
If you cannot upgrade immediately, strip inbound Content-Security-Policy request headers from untrusted traffic.
Is GHSA-ffhc-5mcf-pf4q 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.