Kritická chyba v Next.js ohrožuje miliony webů: Útočníci mohou obejít autorizaci
Podle výzkumníka Rachida ze společnosti Zhero Web Security se jedná o chybu s označením CVE-2025-29927, která dostala hodnocení 9,1 z 10 na škále závažnosti – tedy kritickou. Týká se způsobu, jakým Next.js zpracovává autorizaci v middleware – což je klíčový mechanismus, který rozhoduje o tom, zda má uživatel přístup k určité části webu.
Konkrétně jde o verze před 14.2.25 a 15.2.3, kde bylo možné zneužít slabinu při používání middleware pro kontrolu přístupu. Pokud aplikace běží v takzvaném standalone režimu (next start s output: standalone), je potenciálně ohrožená. Naopak aplikace hostované přes Vercel, Netlify nebo exportované jako statické nejsou touto zranitelností ovlivněny.
Co je middleware a proč je to problém?
Middleware v Next.js umožňuje spouštět funkce dříve, než je dokončen samotný HTTP požadavek. Je to skvělý nástroj pro věci jako ověření uživatele, lokalizaci, A/B testování nebo přesměrování, aniž by to ovlivnilo výkon webu. Právě jeho univerzálnost ale mohla být zrádná – protože některé verze Next.js mohly nesprávně vyhodnocovat požadavky s určitými hlavičkami, konkrétně s x-middleware-subrequest.
Zdroj: Shutterstock
Zneužití pak mohlo vést k tomu, že se uživatel dostal k obsahu, ke kterému neměl mít přístup. Jinými slovy – autorizace proběhla jen naoko. A pokud jde o citlivá data v rámci e-shopů, bankovních portálů nebo aplikací pracujících s kryptoměnami, může být i malý přístupový omyl katastrofou.
Jak se chránit? Oprava je už k dispozici
Dobrou zprávou je, že oprava už existuje. Vývojáři, kteří používají Next.js, by měli co nejdříve aktualizovat na verze 14.2.25 nebo 15.2.3 a vyšší. Pokud z nějakého důvodu nemůžou aktualizaci provést hned, měli by alespoň blokovat externí požadavky obsahující hlavičku x-middleware-subrequest, které mohou chybu spustit.
Znepokojivé však je, že podle výzkumníka je chyba v kódu přítomna už několik let, a postupně se vyvíjela spolu s tím, jak middleware v Next.js procházel změnami. To znamená, že zranitelnost mohla existovat i v mnoha starších verzích frameworku, aniž by si toho kdo všiml.
Next.js je všude – a právě to je riziko
Next.js není nějaký okrajový nástroj – je to jeden z nejpoužívanějších frameworků pro tvorbu webových aplikací. Běží na něm projekty jako TikTok, Netflix, GitHub nebo desítky e-shopových platforem, firemních dashboardů a dalších náročných webových aplikací. Každý týden je z npm stažen více než 9 milionkrát.
To z něj dělá atraktivní cíl – a jak varuje i samotný výzkumník, framework je široce využíván v kritických odvětvích, od finančních služeb přes blockchain až po státní správu. Pokud by chyba nebyla rychle opravena, mohla by se stát bránou k útokům s reálným dopadem na miliony uživatelů.