Site icon Kiber.ba

Next.js: Upozorenje na ranjivost trovanja keša, napadači mogu izazvati DoS stanje.

Pronađena je kritična sigurnosna ranjivost u Next.js, popularnom frameworku baziranom na Reactu, koja omogućava napadačima da iskoriste mehanizme trovanja keša kako bi izazvali uvjete uskraćivanja usluge (DoS). Ova ranjivost, identifikovana kao CVE-2025-49826, pogađa verzije Next.js od 15.1.0 do 15.1.8, te je razvojni tim izdao hitna sigurnosna ažuriranja.

Ranjivost potiče od greške u keširanju odgovora koja cilja HTTP 204 odgovore pri generiranju statičkih stranica. Pod određenim okolnostima, ova greška omogućava zlonamjernim akterima da u keš ubace prazne odgovore, što rezultira time da legitimni korisnici umjesto očekivanog sadržaja dobijaju prazne stranice.

Da bi se ranjivost mogla iskoristiti, moraju biti ispunjena tri ključna uvjeta istovremeno: korištenje pogođene verzije Next.js (>=15.1.0 <15.1.8), korištenje Incremental Static Regeneration (ISR) s ponovnom validacijom keša u produkcijskom režimu (next start ili samostalno postavljanje), te implementacija Server-Side Rendering (SSR) s Content Delivery Network (CDN) konfiguracijom koja kešira 204 odgovore. Napad iskorištava tzv. "race condition" u mehanizmu dijeljenog objekta odgovora unutar Next.js, gdje framework pogrešno obrađuje i kešira HTTP 204 statusne kodove. Kada se uspješno izvede, ova tehnika trovanja keša dovodi do trajnih DoS uvjeta, jer se keširani prazni odgovor poslužuje svim naknadnim korisnicima koji pokušavaju pristupiti pogođenim statičkim stranicama. Posljedice su posebno ozbiljne za aplikacije s velikim prometom koje se oslanjaju na ISR za optimizaciju performansi. Sigurnosni stručnjaci preporučuju hitnu migraciju na verziju Next.js 15.1.8 ili noviju, koja u potpunosti otklanja CVE-2025-49826. Organizacije koje koriste pogođene verzije trebaju dati prioritet ažuriranju svojih zavisnosti i provođenju detaljnog testiranja svojih ISR i SSR implementacija. Aplikacije hostirane na Vercel platformi, zbog specifičnog dizajna infrastrukture, nisu pogođene ovim vektorom napada. Tim za razvoj Next.js je riješio ranjivost kroz opsežne izmjene koda usmjerene na korijenski uzrok mehanizma trovanja keša. Glavna ispravka uključivala je uklanjanje problematičnog koda odgovornog za postavljanje pogrešnih 204 odgovora u procesu generiranja statičkih stranica. Nadalje, eliminirana je "race condition" preuređenjem arhitekture keširanja odgovora kako se više ne bi oslanjala na dijeljene objekte odgovora za popunjavanje Next.js keša odgovora. Razvojni timovi bi trebali implementirati sveobuhvatno sigurnosno nadgledanje svojih Next.js aplikacija, s posebnim naglaskom na anomalije u ponašanju keša i neočekivane obrasce 204 odgovora koji bi mogli ukazivati na pokušaje iskorištavanja.

Exit mobile version