Site icon Kiber.ba

Next.js: Ugrožena keš memorija, napadači mogu izazvati DoS stanje

U popularnom React-baziranom web okviru Next.js otkrivena je kritična sigurnosna ranjivost, označena kao CVE-2025-49826, koja omogućava napadačima da iskoriste mehanizme trovanja keš memorije (cache poisoning) i izazovu uslove za uskraćivanje usluge (Denial of Service – DoS). Ova 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, što je primoralo tim za razvoj da izda hitna sigurnosna ažuriranja.

Suština problema leži u grešci pri trovanju keš memorije koja manipulira mehanizmom keširanja odgovora okvira, specifično ciljajući HTTP 204 odgovore u renderovanju statičkih stranica. Pod određenim okolnostima, ovaj nedostatak omogućava zlonamjernim akterima da keš memoriju “zaraze” praznim odgovorima, što dovodi do toga da legitimni korisnici umjesto očekivanog sadržaja dobijaju prazne stranice.

Da bi ova ranjivost bila iskoristiva, moraju biti ispunjena tri ključna uslova istovremeno: upotreba ranjive verzije Next.js (u rasponu od 15.1.0 do 15.1.8), korišćenje Incremental Static Regeneration (ISR) s revalidacijom keš memorije u produkcijskom režimu (korištenjem `next start` ili samostalne implementacije), te implementacija Server-Side Rendering (SSR) s mrežom za dostavu sadržaja (CDN) koja je konfigurisana da kešira 204 odgovore. Napadački vektor iskorištava trkačko stanje (race condition) u mehanizmu dijeljenog objekta odgovora Next.js-a, gdje okvir nepravilno obrađuje i kešira HTTP 204 statusne kodove. Kada se uspješno izvede, ova tehnika trovanja keš memorije rezultira trajnim DoS uslovima, jer se keširani prazan odgovor isporučuje svim narednim korisnicima koji pokušavaju pristupiti pogođenim statičkim stranicama. Posljedice ove ranjivosti posebno su teške za aplikacije s velikim prometom koje se oslanjaju na ISR za optimizaciju performansi.

Timske izmjene koda Next.js-a su se fokusirale na uklanjanje problematičnog dijela koda koji je bio odgovoran za postavljanje netačnih 204 odgovora u cjevovodu renderovanja statičkih stranica. Dodatno, uklonjeno je trkačko stanje preuređenjem arhitekture keširanja odgovora, kako se više ne bi oslanjali na dijeljene objekte odgovora za popunjavanje keš memorije Next.js-a. Sigurnosni stručnjaci preporučuju hitnu nadogradnju na verziju Next.js 15.1.8 ili noviju, jer ona 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 temeljno testiranje svojih ISR i SSR implementacija. Važno je napomenuti da aplikacije hostovane na Vercel platformi nisu pogođene zahvaljujući dizajnu infrastrukture platforme, koji sprečava ovaj specifični napadački vektor. Od razvojnih timova se traži da implementiraju sveobuhvatno sigurnosno praćenje za svoje Next.js aplikacije, fokusirajući se posebno na anomalije u ponašanju keš memorije i neočekivane obrasce 204 odgovora, koji bi mogli ukazivati na pokušaje iskorištavanja.

Exit mobile version