În cadrul framework-ului web Apache Struts, utilizat pentru dezvoltarea de aplicații web în limbajul Java folosind paradigma MVC (Model-View-Controller), a fost identificată o vulnerabilitate (CVE-2024-53677). Această vulnerabilitate permite unui atacator extern să scrie un fișier în orice locație a sistemului de fișiere de pe server prin trimiterea unei cereri HTTP formate în mod special. Problema afectează versiunile de la 2.0.0 la 2.3.37, de la 2.5.0 la 2.5.33 și de la 6.0.0 la 6.3.0.2 și se manifestă în aplicațiile care utilizează componenta FileUploadInterceptor pentru încărcarea fișierelor pe server.
Vulnerabilitatea este cauzată de absența unei verificări adecvate a parametrilor transmiși în timpul încărcării fișierelor. Dacă atacatorul are acces la funcțiile de încărcare a fișierelor din interfața web bazată pe Apache Struts, acesta poate specifica o valoare de tipul „..\/..\/..\/..\/..\/webapps\/ROOT” și poate reuși să salveze un fișier dincolo de directorul destinatia pentru stocarea datelor încărcate (prototip de exploit). Obținând posibilitatea de a scrie fișiere în porțiuni arbitrare ale sistemului de fișiere, se pot stabili comenzi proprii. server, rescriind scripturi sau fișiere de configurație, în funcție de permisiunile utilizatorului sub care rulează aplicația web. Dacă aplicația web rulează într-un container Apache Tomcat, care este lansat cu drepturi de root, atacatorul poate obține acces privilegiat la sistem.
Vulnerabilitățile din Apache Struts sunt importante, deoarece acest framework este foarte popular în sistemele corporative accesibile prin web. Potrivit statisticilor RedMonk, framework-ul Apache Struts a fost utilizat în aplicațiile web de 65% din companiile incluse în lista Fortune 100. În 2017, un atac asupra sistemului informațional al companiei Equifax, care utiliza o versiune vulnerabilă de Apache Struts, a dus la scurgerea datelor personale a 143 milioane de locuitori din SUA.
Sursa: opennet.ro
