Në PHP është zbuluar një vulnerabilitet (CVE-2024-4577), i cili lejon ekzekutimin e kodit në server ose shikimin e kodit burimor të skriptit PHP në rastin e përdorimit të PHP në modin CGI në platformën Windows (konfigurimet me mod_php, php-fpm dhe FastCGI nuk janë të prekura nga kjo vulnerabilitet). Problemi është zgjidhur në versionet PHP 8.3.8, 8.2.20 dhe 8.1.29.
Vulnerabiliteti është një rast i veçantë i një problemi të korrigjuar në vitin 2012 me kodin CVE-2012-1823, për të cilin mbrojtja e shtuar ishte e pamjaftueshme për të bllokuar sulmin në platformën Windows. Metoda e sulmit përfshin mundësinë e zëvendësimit të argumentit të komandës gjatë ekzekutimit të interpretuesit PHP përmes manipulimit të parametrave të kërkesës për skriptin PHP.
Në vulnerabilitetin e vjetër CVE-2012-1823, për ta shfrytëzuar mjaftonte të jepje opsionet e komandës në vend të parametrave të kërkesës, për shembull, "http://localhost/index.php?-s" për të treguar kodin burimor të skriptit. Vulnerabiliteti i ri bazohet në faktin se platforma Windows siguron një transformim automatik të simboleve, çka lejon që për të anashkaluar mbrojtjen e shtuar më parë të specifikosh simbole që janë të pranishme në disa kodime dhe zëvendësohen me simbolin "-" (për shembull, http://localhost/index.php?s).
Vulnerabiliteti është konfirmuar në konfigurimet me locale për kinesis traditonal kineze (cp950), kinesis të thjeshtë kineze (cp936) dhe japoneze (cp932), por nuk përjashtohet manifestimi i saj edhe me locale të tjera. Problemi shfaqet në konfigurimin e paracaktuar në paketën XAMPP (Apache + MariaDB + PHP + Perl), si dhe në çdo konfigurim tjetër Apache ku php-cgi është vendosur si përpunues CGI-skriptesh përmes konfigurimit
âAction cgi-script «/cgi-bin/php-cgi.exe»â ose âAction application/x-httpd-php-cgi «/php-cgi/php-cgi.exe»â, ose kur interpretuesi php Ă«shtĂ« vendosur drejtpĂ«rdrejt nĂ« «/cgi-bin» dhe nĂ« çdo katalog tjetĂ«r ku ekzekutimi i CGI-skripteve Ă«shtĂ« i lejuar pĂ«rmes direktivĂ«s ScriptAlias.
Për më tepër, në përditësimet PHP 8.3.8, 8.2.20 dhe 8.1.29 janë eliminuar edhe tre vulnerabilitete të tjera:
- CVE-2024-5458 â mundĂ«sia pĂ«r tĂ« anashkaluar filtĂ«r
FILTER_VALIDATE_URL, i pĂ«rdorur gjatĂ« thirrjes sĂ« funksionit filter_var. - CVE-2024-5585 â njĂ« vektor alternativ sulmi ndaj vulnerabilitetit CVE-2024-1874, i cili lejon anashkalimin e mbrojtjes tĂ« mĂ«parshme tĂ« shtuar dhe realizimin e zĂ«vendĂ«simit tĂ« komandave gjatĂ« thirrjes sĂ« skedave bat dhe cmd pĂ«rmes funksionit proc_open nĂ« platformĂ«n Windows (vulnerabiliteti BatBadBut).
- Dëmtueshmëria e funksionit openssl_private_decrypt ndaj sulmit Marvin.
Burimi: opennet.ru
