Një dobësi në PHP që lejon ekzekutimin e kodit kur punon në modin CGI

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.

В старой уязвимости CVE-2012-1823 для эксплуатации достаточно было указать опции командной строки вместо параметров запроса, например, «http://localhost/index.php?-s» для показа исходного кода скрипта. Новая уязвимость основывается на том, что платформа Windows обеспечивает автоматическое преобразование символов, что позволяет для обхода ранее добавленной защиты указывать символы, присутствующие в некоторых кодировках и заменяемые на символ «-» (например, http://localhost/index.php?%ads).

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

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster