Kritična Zero Day ranjivost PHP-a u Craft CMS-u omogućava hakerima udaljen pristup

Objavljeno: 28.01.2025. 23:00 Autor: Gov - CIRT

Craft CMS je moderan, fleksibilan i moćan sistem za upravljanje sadržajem (Content Management System) razvijen u PHP-u. Koristi Yii PHP framework i poznat je po svojoj prilagodljivosti i lakoći korišćenja, posebno za izradu složenih i prilagođenih web stranica. Međutim, otkrivena je značajna bezbjednosna ranjivost u Craft CMS-u koja omogućava hakerima da neautorizovano izvršavaju kod (RCE) u podrazumijevanoj konfiguraciji.

Ova ranjivost koja je prepoznata kao CVE-2024-56145 otkrivena je od strane istraživača bezbjednosnih propusta i “zakrpljena” već u roku od 24h od njenog otkrivanja.

Iako se PHP jezik kontinuirano unapređuje i poboljšava, ipak mu bezbjednosni izazovi nisu nepoznanica. Iako su starije ranjivosti poput register_globals i magic_quotes_gpc iskorijenjene, određeni nedostaci u njegovom dizajnu i dalje mogu dovesti do bezbjednosnih problema. Upravo ova skoro otkrivena greška ukazuje na činjenicu kako naizgled bezopasna ponašanja PHP-a mogu stvoriti uslove za eksploataciju od strane hakera. Centar ove ranjivosti predstavlja konfiguraciono podešavanje u PHP-u register_argc_argv.

Ova podešavanja određuju da li su argumenti $_SERVER[`argc`] i $_SERVER[`argv`] popunjeni kada se skripta izvrši. Register_argc_argv je podrazumijevano omogućen u PHP-u što može dovesti do neočekivanog ponašanja kada se stringovi prosleđuju PHP skriptama hostovanim na web-u. Na Craft CMS-ovom Docker imidžu ova postavka je uključena stvarajući scenario koji je moguće eksploatisati.

Kako ranjivost funkcioniše ? 

Nedostatak leži u tome kako Craft CMS obrađuje određene opcije komandne linije tokom sekvence pokretanja (bootstrap). Zapravo, programeri su otkrili da se stringovi upita mogu koristiti za manipulisanje putanjama za kritične datoteke kao što su konfiguracioni fajlovi ili šabloni.

Eksploatišući ovakvo ponašanje napadači bi mogli da steknu kontrolu nad putanjama datoteka i potencijalno izvrše proizvoljni kod. Istraživači su dokazali da korišćenjem ftp:// omotača za hostovanje zlonamjernih templejta na FTP serveru mogu da zaobiđu bezbjednosne provjere i instaliraju izvršni kod u ranjivu Craft CMS instancu.

Dalja analiza od strane Adama Kuesa otkrila je da dok Craft CMS pokušava da zaštiti svoj templejt mehanizam (Twig) i spriječi izvršenje zlonamjernog koda, pametna rješenja kao što su korišćenje filtera za sortiranje sa call_user_func omogućavaju napadačima da zaobiđu ovu odbranu.

Uticaj i mitigacije

Craft CMS koristi preko 150 000 web lokacija širom svijeta uključujući velike kompanije. Ranjivost je predstavljala značajan rizik za one organizacije koje koriste podrazumijevane postavke platforme. Međutim, Craft CMS sigurnosni tim veoma brzo je otkrio ovu ranjivost i sačinio „zakrpu“ zbog čega je preporučeno korisnicima da u najskorijem roku nadograde svoje instalacije novom verzijom. Za one koji ne mogu da se ažuriraju onemogućavanje register_argc_argv podešavanja u njihovom php.ini fajlu pruža efikasno rješenje za mitigaciju ove specifične ranjivosti.

Ovaj incident naglašava važnost razumijevanja nijansiranog ponašanja PHP-a pri razvoju sigurnih aplikacija. Programeri se podstiču da provjere da li se kod izvodi u okruženju interfejsa CLI-a koristeći robusne metode poput provjere PHP_SAPI varijable prije nego da se oslanjaju na potencijalno dvosmislene indikatore kao što je $_SERVER[`argv`].

Ova ranjivost CVE-2024-56145 služi kao podsjetnik kako male pogrešne konfiguracije ili previđene funkcije mogu dovesti do ozbiljnih posljedica ako ih iskoriste napadači. Istraživači su takođe objavili alatku za eksploataciju CVE-2024-56145 koja omogućava napadačima da postignu udaljen pristup preko posebno kreiranih pejlodova. Organizacije moraju ostati budne tako što će stalno ažurirati svoj softver i usvojiti prakse bezbjednog kodiranja kako bi zaštitile svoje sisteme od novih prijetnji.

Izvor: Critical PHP 0-Day Vulnerability in Craft CMS Lets Hackers Gain Remote Access

Da li vam je sadržaj ove stranice bio od koristi?