A fost descoperită o vulnerabilitate în PHP (CVE-2024-4577) care permite execuția de cod pe server sau vizualizarea codului sursă al unui script PHP în cazul utilizării PHP în modul CGI pe platforma Windows (configurațiile cu mod_php, php-fpm și FastCGI nu sunt vulnerabile). Problema a fost remediată în versiunile PHP 8.3.8, 8.2.20 și 8.1.29.
Vulnerabilitatea este un caz particular al problemei CVE-2012-1823, care a fost corectată în 2012, protecția adăugată pentru aceasta fiind insuficientă pentru a bloca atacurile pe platforma Windows. Metoda de atac constă în faptul că este posibil să se substituie argumentul din linia de comandă la lansarea interpretatorului PHP prin manipularea parametrilor din cererea către scriptul PHP.
În vechea vulnerabilitate CVE-2012-1823, era suficient să specifici opțiunile din linia de comandă în locul parametrilor de interogare, de exemplu, „http://localhost/index.php?-s” pentru a afișa codul sursă al scriptului. Noua vulnerabilitate se bazează pe faptul că platforma Windows asigură o conversie automată a simbolurilor, permițând astfel ocolirea protecției anterior adăugate prin utilizarea unor caractere prezente în anumite codificări și înlocuite cu simbolul „-” (de exemplu, http://localhost/index.php?s).
Vulnerabilitatea a fost confirmată în configurațiile cu locale pentru chineză tradițională (cp950), chineză simplificată (cp936) și japoneză (cp932), dar nu se exclude manifestarea ei și în alte locale. Problema se manifestă în configurația implicită din pachetul XAMPP (Apache + MariaDB + PHP + Perl), precum și în orice configurații Apache în care php-cgi este setat ca handler pentru scripturi CGI prin configurarea 'Action cgi-script "/cgi-bin/php-cgi.exe"' sau 'Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"', sau prin plasarea directă a interpretatorului php în "/cgi-bin" și alte directoare în care este permisă execuția scripturilor CGI prin directivele ScriptAlias.
În plus, în actualizările PHP 8.3.8, 8.2.20 și 8.1.29 au fost remediat încă trei vulnerabilități:
CVE-2024-5458 — posibilitatea ocolirii filtrului
- FILTER_VALIDATE_URL, utilizat la apelul funcției filter_var.
CVE-2024-5585 — un vector alternativ de atac asupra vulnerabilității CVE-2024-1874, care permite ocolirea protecției adăugate anterior și efectuarea substituțiilor la apelul fișierelor bat și cmd prin funcția proc_open pe platforma Windows (vulnerabilitatea BatBadBut). - Vulnerabilitatea funcției openssl_private_decrypt la atacul Marvin.
- Vulnerabilitatea funcției openssl_private_decrypt la atacul Marvin.
Sursa: opennet.ro
