A Next.js, a modern webfejlesztésben széles körben alkalmazott React-alapú keretrendszer, egy kritikus sérülékenységet tartalmaz, amely lehetővé teszi a middleware által végzett biztonsági ellenőrzések megkerülését. A CVE-2025-29927 azonosítón nyilvántartott sebezhetőség a middleware által használt belső HTTP fejléc, az x-middleware-subrequest nem megfelelő kezeléséből ered, így a támadók képesek manipulálni a rendszer belső ellenőrzéseit.
A Next.js middleware feladata, hogy biztonsági ellenőrzéseket végezzen, mint például a hitelesítési folyamatok vagy a jogosultságellenőrzések végrehajtása, valamint biztonsági fejlécek (pl. Content-Security-Policy, X-Frame-Options) beállítása a kérésekre. Az x-middleware-subrequest fejléc kulcsfontosságú szerepet játszik ezekben a folyamatokban: ez a fejléc jelzi a middleware számára, hogy egy kérés belső (loopback) kérés-e, amelyet nem szükséges ismételten ellenőrizni.
A probléma abból fakad, hogy bizonyos Next.js-verziókban a fejléc manipulációja lehetővé teszi, hogy a támadó olyan értéket állítson be, amelyet a middleware érvényesnek tekint. Ennek következtében a külső kérések is átjuthatnak a rendszer biztonsági ellenőrzésein anélkül, hogy azokat valóságosan végrehajtaná.
A támadók az x-middleware-subrequest fejléc értékét speciális mintákkal manipulálják:
- 12.2 előtti verzióknál: x-middleware-subrequest: pages/_middleware
- 12.2 utáni verzióknál: x-middleware-subrequest: middleware:middleware:middleware
- src könyvtárat használó projektek esetében: x-middleware-subrequest: src/middleware
A fejléc módosításával a támadó eléri, hogy a middleware érvényes belső kérésként kezelje a kérést, így megkerülhetővé válnak az autentikációs és jogosultságellenőrzési folyamatokat.
Következmények
- Hitelesítési megkerülés: A támadók bejelentkezés vagy jogosultságellenőrzés nélkül férhetnek hozzá védett erőforrásokhoz.
- Biztonsági fejléc hiánya: A middleware nem állítja be a http válaszokhoz tartozó biztonsági fejléceket, mint például a Content-Security-Policy vagy az X-Frame-Options, ami további támadások előtt nyit ajtót.
- Jogosultsági szint emelése: Alacsony jogosultsági szintű felhasználók adminisztrátori szintű hozzáférést szerezhetnek.
A Next.js már kiadott biztonsági javításokat. Az alábbi verziókra történő frissítés javasolt:
- Next.js 15.x: 15.2.3 vagy újabb verzió
- Next.js 14.x: 14.2.25 vagy újabb verzió
- Next.js 13.x: 13.5.9 vagy újabb verzió
- Next.js 12.x: 12.3.5 vagy újabb verzió
Ha a frissítés nem azonnal megoldható, javasolt az x-middleware-subrequest fejléc blokkolása a proxy- vagy edge-szinten. Fontos: a fejléc blokkolását a middleware-en belül nem ajánlott elvégezni, mivel az további hibákat eredményezhet.