CISA je izdala kritično upozorenje u vezi sa ranjivošću unutar Ruby on Rails frameworka koja omogućava tzv. path traversal, a koja predstavlja značajan rizik za veb aplikacije širom svijeta.
Ova ranjivost, poznata pod oznakom CVE-2019-5418, utiče na Action View komponentu Rails frameworka. Ona omogućava napadačima da iskoriste posebno kreirane Accept headere u kombinaciji sa pozivima render file: metode kako bi pristupili proizvoljnim datotekama na ciljanim serverima.
Sigurnosni propust uvršten je u CISA-in katalog poznatih eksploatisanih ranjivosti (KEV) 7. jula 2025. godine, a organizacijama je dat rok do 28. jula 2025. da primijene neophodne mjere ublažavanja ili da prekinu korištenje ugroženih proizvoda.
Ključne informacije:
1. CVE-2019-5418 u Ruby on Rails frameworku dozvoljava napadačima pristup proizvoljnim serverskim datotekama putem eksploatacije Accept headera i poziva render file:.
2. Omogućava neautorizovan pristup osjetljivim sistemskim datotekama, konfiguracijama i akreditivima kroz zlonamjerne HTTP Accept headere koji sadrže sekvence za obilaženje direktorijuma.
3. Uvrštena je u CISA-in KEV katalog 7. jula 2025. sa obaveznim rokom za ublažavanje od 28. jula 2025. zbog aktivne eksploatacije.
4. Potrebno je ažurirati Rails na zakrpljene verzije (4.2.5.1, 5.1.6.2+), implementirati validaciju unosa i slijediti smjernice BOD 22-01 ili prekinuti korištenje ranjivih verzija.
Ranjivost poznata kao Path Traversal
Ranjivost CVE-2019-5418 predstavlja klasičan vektor napada tipa path traversal koji specifično cilja Action View komponentu Rails frameworka. Ova ranjivost pripada kategoriji Common Weakness Enumeration (CWE) pod brojem CWE-22, koja obuhvata slabosti u obilaženju putanja (path traversal), a koje omogućavaju napadačima pristup datotekama i direktorijumima izvan predviđene strukture direktorijuma.
Problem nastaje kada aplikacije koriste metodu render file: u kombinaciji sa unosom koji kontroliše korisnik, naročito putem manipulisanih HTTP Accept headera. Tehnička osnova ovog napada leži u načinu na koji Rails obrađuje zahtjeve za renderovanje datoteka. Kada aplikacija pozove render file: bez adekvatne validacije unosa, napadači mogu kreirati zlonamjerne Accept headere koji sadrže sekvence za obilaženje direktorijuma, poput ../, kako bi izašli izvan predviđenog opsega datoteka aplikacije. Ova slabost omogućava neovlašten pristup osjetljivim sistemskim datotekama, konfiguracijskim fajlovima, a potencijalno i akreditivima baze podataka pohranjenim u datotečnom sistemu servera.
Mehanizam eksploatacije podrazumijeva kreiranje posebno oblikovanih HTTP zahtjeva sa manipuliranim Accept headerima koji zaobilaze predviđene sigurnosne kontrole Rails frameworka. Napadači obično ciljaju aplikacije koje implementiraju obrasce koda slične prikazanim. Napadački payload koristi sekvence za obilaženje putanja ugrađene u Accept headere, kao što je prikazano na primjeru.
Ova tehnika omogućava napadačima da se kreću kroz strukturu direktorijuma i pristupe kritičnim sistemskim datotekama, uključujući /etc/passwd, konfiguracijske fajlove aplikacije, te potencijalno izvorni kod koji sadrži osjetljive informacije. Ozbiljnost ranjivosti je pojačana činjenicom da može dovesti do otkrivanja proizvoljnih datoteka, razotkrivajući povjerljive podatke koji bi mogli omogućiti dalje napade ili kompromitovanje sistema.
Faktori rizika:
* Ugroženi proizvodi: Ruby on Rails framework (Action View komponenta) – verzije starije od Rails 4.2.5.1, verzije starije od Rails 5.1.6.2.
* Posljedice: Otkrivanje proizvoljnih datoteka, neautorizovan pristup osjetljivim serverskim datotekama.
* Preduslovi za eksploataciju: Aplikacija koristi metodu render file:, unos kontrolisan od strane korisnika u pozivima renderovanja datoteka, mogućnost kreiranja zlonamjernih HTTP Accept headera, odsustvo odgovarajuće validacije unosa ili sanitizacije putanja.
* CVSS 3.1 ocjena: 7.5 (Visoka).
Strategije ublažavanja
CISA nalaže da federalne agencije i organizacije odmah primijene mjere ublažavanja koje pruža dobavljač, prateći važeće smjernice BOD 22-01 za usluge u oblaku. Primarna mjera ublažavanja uključuje ažuriranje Rails frameworka na zakrpljene verzije: Rails 4.2.5.1, Rails 5.1.6.2 ili novije verzije koje rješavaju ovu ranjivost. Organizacije bi trebale implementirati strogu validaciju unosa za sve operacije renderovanja datoteka i izbjegavati korištenje metode render file: sa parametrima koje kontroliše korisnik.
Dodatne zaštitne mjere uključuju implementaciju strogih kontrola pristupa, provođenje detaljnih revizija koda kako bi se identifikovali ranjivi obrasci, te implementaciju Web Application Firewalla (WAF) konfigurisanih za detekciju i blokiranje pokušaja path traversal napada. Organizacije takođe moraju osigurati da aplikacije slijede princip najmanjih privilegija, ograničavajući pristup datotečnom sistemu samo na neophodne direktorijume i implementirajući sveobuhvatno logovanje radi otkrivanja potencijalnih pokušaja eksploatacije.
Rok od 28. jula 2025. naglašava hitnost rješavanja ove ranjivosti, posebno s obzirom na njeno uvrštavanje u CISA-in KEV katalog, što ukazuje na aktivnu eksploataciju u stvarnim napadima.