Otkrivena je kritična sigurnosna ranjivost u popularnom React-baziranom web okviru Next.js, pod oznakom CVE-2025-49826, koja omogućava napadačima da iskoriste mehanizme trovanja keša (cache poisoning) i izazovu uslove za uskraćivanje usluge (Denial of Service – DoS).
Ovu ranjivost, koju su prijavili sigurnosni istraživači Allam Rachid (zhero) i Allam Yasser (inzo_), pogađa verzije Next.js od 15.1.0 do 15.1.8, te je razvojni tim promptno izdao sigurnosna ažuriranja.
Problem je lociran u grešci koja manipuliše mehanizmom keširanja odgovora okvira, naročito ciljajući HTTP 204 odgovore u generisanju statičkih stranica. Pod određenim okolnostima, ova greška omogućava zlonamjernim akterima da “otruju” keš praznim odgovorima, što rezultira time da legitimni korisnici umjesto željenog sadržaja dobijaju prazne stranice.
Da bi ranjivost bila iskoristiva, moraju se istovremeno ispuniti tri ključna uslova: korištenje pogođene verzije Next.js (>=15.1.0 <15.1.8), upotreba Incremental Static Regeneration (ISR) sa ponovnom validacijom keša u produkcijskom režimu (next start ili samostalna implementacija), te implementacija Server-Side Renderinga (SSR) sa mrežom za dostavu sadržaja (CDN) konfigurisanom za keširanje 204 odgovora. Napadni vektor koristi takozvanu "trku stanja" (race condition) u mehanizmu dijeljenih objekata odgovora unutar Next.js-a, gdje okvir neispravno obrađuje i kešira HTTP 204 statusne kodove. Nakon uspješnog izvođenja, ova tehnika trovanja keša rezultira trajnim uslovima DoS-a, jer se keširani prazni odgovor servira svim narednim korisnicima koji pokušaju pristupiti pogođenim statičkim stranicama. Uticaj ove ranjivosti posebno je značajan za aplikacije sa velikim prometom koje se oslanjaju na ISR radi optimizacije performansi. Razvojni tim Next.js-a je riješio ovu ranjivost sveobuhvatnim modifikacijama koda, ciljajući temeljni uzrok mehanizma trovanja keša. Glavni ispravak obuhvatio je uklanjanje problematičnog programskog puta odgovornog za postavljanje pogrešnih 204 odgovora u cjevovodu generisanja statičkih stranica. Dodatno, programeri su eliminisali "trku stanja" restrukturiranjem arhitekture keširanja odgovora kako se više ne bi oslanjali na dijeljene objekte odgovora za popunjavanje keša odgovora Next.js-a. Sigurnosni stručnjaci preporučuju hitnu migraciju na Next.js verziju 15.1.8 ili noviju, koja uključuje potpuno rješenje za CVE-2025-49826. Organizacije koje koriste pogođene verzije trebale bi dati prioritet ažuriranju svojih zavisnosti i provesti temeljito testiranje svojih ISR i SSR implementacija. Važno je napomenuti da aplikacije hostovane na Vercel platformi ostaju neafektirane zahvaljujući dizajnu infrastrukture platforme koji sprječava ovaj specifični napadni vektor. Razvojni timovi bi trebali implementirati sveobuhvatni sigurnosni nadzor za svoje Next.js aplikacije, posebno se fokusirajući na anomalije u ponašanju keša i neočekivane obrasce 204 odgovora, što bi moglo ukazivati na tekuće pokušaje eksploatacije.