CDR.cz - Vybráno z IT

Kritická chyba v Next.js ohrožuje miliony webů: Útočníci mohou obejít autorizaci

Zdroj: Shutterstock

Vývojáři používající populární framework Next.js by měli zpozornět – bezpečnostní experti totiž odhalili vážnou chybu, která umožňuje obejít autorizaci v určitých verzích této platformy. Vzhledem k tomu, že Next.js využívají miliony projektů po celém světě včetně velkých hráčů jako Netflix či GitHub, může mít zranitelnost zásadní dopad na webovou bezpečnost.

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ů.