Next.js: Uspješno trovanje keša omogućava napadačima pokretanje DoS stanja, budite oprezni.

U popularnom React-ovom web okviru Next.js otkrivena je ozbiljna sigurnosna ranjivost, označena kao CVE-2025-49826. Ova ranjivost omogućava napadačima da iskoriste mehanizme trovanja keša (cache poisoning) i time izazovu stanja uskraćivanja usluge (Denial of Service – DoS).

Ranjivost, koju su otkrili stručnjaci za sigurnost Allam Rachid (poznat kao zhero) i Allam Yasser (poznat kao inzo_), pogađa verzije Next.js od 15.1.0 do 15.1.8. Tim za razvoj Next.js-a je povodom ovog otkrića izdao hitna sigurnosna ažuriranja.

**Ranljivost DoS u Next.js-u**

Problem proizlazi iz greške u keširanju koja manipulira mehanizmom za keširanje odgovora okvira, posebno ciljajući HTTP 204 odgovore pri renderovanju statičkih stranica. Pod određenim okolnostima, ova greška omogućava zlonamjernim akterima da “potruju” keš praznim odgovorima, što rezultira prikazivanjem praznih stranica legitimnim korisnicima umjesto očekivanog sadržaja.

Da bi se ova ranjivost mogla eksploatisati, moraju biti ispunjena tri ključna uslova istovremeno: korištenje pogođene verzije Next.js-a (od 15.1.0 do 15.1.8), primjena Incremental Static Regeneration (ISR) s ponovnom validacijom keša u produkcijskom načinu rada (putem `next start` ili samostalne primjene) te implementacija Server-Side Rendering (SSR) sa Content Delivery Network (CDN) koja je konfigurirana za keširanje 204 odgovora.

Napadački vektor koristi “trkačko stanje” (race condition) u mehanizmu dijeljenog objekta odgovora Next.js-a, gdje okvir pogrešno obrađuje i kešira HTTP 204 statusne kodove. Kada se uspješno izvede, ova tehnika trovanja keša dovodi do trajnih stanja DoS-a, jer se keširani prazni odgovor servira svim narednim korisnicima koji pokušavaju pristupiti pogođenim statičkim stranicama. Utjecaj ove ranjivosti posebno je značajan za aplikacije s velikim prometom koje se oslanjaju na ISR za optimizaciju performansi.

| Faktori Rizika | Detalji |
|—|—|
| Pogođeni proizvodi | Next.js verzije ≥15.1.0 <15.1.8 | | Utjecaj | Trovanje keša koje dovodi do stanja uskraćivanja usluge (DoS) | | Preduvjeti za eksploataciju | 1. Korištenje pogođene verzije Next.js-a (≥15.1.0 <15.1.8) 2. Ruta koja koristi ponovnu validaciju keša sa ISR-om (`next start` ili samostalni način) 3. Ruta koja koristi SSR sa CDN-om konfiguriranim za keširanje 204 odgovora | | CVSS 3.1 Ocjena | 7.5 (Visoko) | **Sanacija** Tim za razvoj Next.js-a je riješio ovu ranjivost kroz opsežne izmjene koda usmjerene na korjeniti uzrok mehanizma trovanja keša. Primarna ispravka obuhvatila je uklanjanje problematičnog toka koda odgovornog za postavljanje pogrešnih 204 odgovora u cjevovodu za renderiranje statičkih stranica. Dodatno, programeri su eliminisali "trkačko stanje" restrukturiranjem arhitekture keširanja odgovora kako se više ne bi oslanjali na dijeljene objekte odgovora za popunjavanje keša odgovora Next.js-a. Stručnjaci za sigurnost preporučuju hitnu migraciju na verziju Next.js-a 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 Vercelovoj platformi ostaju ne pogođene zahvaljujući infrastrukturalnom dizajnu platforme koji sprječava ovaj specifični napadački vektor. Razvojni timovi bi trebali implementirati sveobuhvatno sigurnosno praćenje za svoje Next.js aplikacije, fokusirajući se posebno na anomalije u ponašanju keša i neočekivane obrasce 204 odgovora, koji bi mogli ukazivati na pokušaje eksploatacije.

Recent Articles

spot_img

Related Stories