Top 10 winner
Next.js, cache, and chains: the stale elixir
The internal x-now-route-matches header makes Next.js treat a server-side-rendered request as static and return a cacheable Cache-Control, while the __nextDataReq parameter turns the response into the pageProps JSON. Together they poison the framework's own cache with no CDN needed, causing denial of service and, where request data is reflected, stored XSS.
Record
- Researcher
- zhero
- Published by
- zhero_web_security
- Date
- Topic
- Other
In the archive
Related sources
- Next.js and cache poisoning: a quest for the black hole
- Next.js cache-poisoning advisory Advisory
- Eclipse on Next.js: Conditioned exploitation of an intended race-condition
Tags
This page is the archive's own catalogue record. The research is the work of zhero, first published at the original source. Preserved copies are kept so the citation survives its host; this one was last captured on .