På fredag gikk Next.js ut og advarte om en kritisk sårbarhet i Next.js, som av flere omtales som en av de alvorligste sårbarhetene i et rammeverk på lenge.
– Denne sårbarheten gjør det mulig for angripere å omgå autentisering og autorisasjon basert på middleware, noe som potensielt kan gi uautorisert tilgang til applikasjonen din, skriver autentiseringsleverandøren Clerk i en advarsel.
Next.js 15.2.3 includes a security vulnerability patch.
— Next.js (@nextjs) March 22, 2025
We recommend updating to 15.2.3 or backported patches. If you cannot update, we have included guidance for how to protect your application.
Apps on Vercel, Netlify, and Cloudflare are not affected.https://t.co/9rLVZf1HCt
Sårbarheten – CVE-2025-29927 – ble først oppdaget og analysert av sikkerhetsanalytikeren Rachid Allam og publisert på hans blogg zhero_web_security.
«Når sårbarheten utnyttes, vil en angriper kunne omgå middlewaren og få tilgang til ruter i applikasjonen din som krever innlogging.»
Brukes ofte til autentisering
Middleware gjør det mulig å kjøre kode før en nettverksforespørsel (request) fullføres. I Next.js kan du basert på den innkommende requesten for eksempel endre request- eller response-headere, omdirigere brukere til en annen side, og mye mer.
Ett av de vanligste bruksområdene for middleware er autentisering:
Med middleware kan du beskytte enkelte ruter for en nettside basert på om brukeren er logget inn eller ikke. Dette er metoden kjente autentiserings-løsninger som Auth0 og Clerk typisk bruker.
Eksempel:
- En bruker besøker for eksempel /dashboard/admin
- Forespørselen går først innom middleware-en, som sjekker om session-cookien til brukeren er gyldig.
- Så vil middlewaren sende brukeren videre til dashboardet, eller til en innloggingsside hvis brukeren ikke har de nødvendige tillatelsene.
Når sårbarheten utnyttes, vil en angriper kunne omgå denne sjekken og få tilgang til ruter i applikasjonen din som krever innlogging.
Fjernet fra dokumentasjon
En utvikler skriver på Reddit at han aldri har forstått hvorfor mange gjør autentisering eller autorisasjon i middleware, og at dette ofte er metoden som anbefales i dokumentasjon og i opplæringsvideoer.
– Auth-sjekker bør alltid primært bli gjort så nærme som mulig dataene du skal ha tilgang til, skriver utvikleren.
Han påpeker at kort tid etter at sårbarheten ble oppdaget, ble dokumentasjonen om middleware-funksjonaliteten i Next.js endret slik at autentisering ikke lenger er nevnt i oversikten over vanlige bruksområder.
Dette er pull requesten som ble merget inn av Lee Robinson i Vercel på søndag:

Det kan selvfølgelig være tilfeldig, og begrunnelsen er blant annet at de ønsket å gjøre beskrivelsen mer generell og mer nyansert.
Ikke alle er like fornøyde med dokumentasjons-endringen:
– Hvor skal vi putte global auth da? Alle auth-biblioteker der ute bruker middleware til dette, fordi Next.js-dokumentasjonen eksplisitt anbefalte dette. Nå har vi en av de mest kritiske sårbarhetene i et stort rammeverk jeg har sett på lenge, skriver utvikleren "soulchild" i en kommentar til PR-en.
– Denne PR-en får det til å se ut som: Ok, det var ikke meningen at du skulle putte auth der uansett. Dette er uakseptabelt, skriver utvikleren.
Cloudflare prøvde å fikse, gjorde vondt verre
Etter at sårbarheten ble kjent, rullet Cloudflare ut en såkalt WAF-regel (Web Application Firewall) som automatisk skulle blokkere nettverksforespørsler som prøver å omgå Next.js middleware.
Det viste seg imidlertid at dette skapte problemer for flere nettsteder, og vi i kode24 har også hørt om tilfeller der nettsteder sluttet å fungere etter at Cloudflare rullet ut fiksen.
Appreciate Cloudflare trying to help there, but in our case, it caused a lot of false positives because our middleware in the Next.js app is making a request to our Cloudflare, and it looks like Next.js was including this heater, causing the sub-request to be blocked pic.twitter.com/VXz3eyADa4
— Samy Pessé (@SamyPesse) March 22, 2025
– Vi har nå endret denne WAF-regelen til opt-in, siden nettsteder som brukte auth-middleware med tredjeparts auth-leverandører opplevde at forespørsler feilet, skriver Cloudflare.
Beskyttet hos Vercel
Alle versjoner av Next.js fra 11.1.4 til 13.5.6, versjon 14.x før 14.2.25 og 15.x før 15.2.3 er berørt av sårbarheten.
Lee Robinson i Vercel skriver at Next.js-applikasjoner som er hostet hos Vercel eller Netlify ikke er berørt – og automatisk beskyttet.
Hvis du derimot hoster Next.js selv, og bruker middleware til auth eller sikkerhets-sjekker, må du oppdatere snarest.
Det er antagelig lurt uansett å oppdatere til en av disse versjonene:
- For Next.js 15.x, fikset i 15.2.3
- For Next.js 14.x, fikset i 14.2.25
- For Next.js 13.x, fikset i 13.5.9
- For Next.js 12.x, fikset i 12.3.5
💬 Er du berørt av Next.js-sårbarheten eller fikk trøbbel da Cloudflare prøvde å fikse problemet? Hør gjerne fra deg i kommentarfeltet!
