A PHP-ben egy CVE-2024-4577 azonosítóval ellátott sérülékenységet fedeztek fel, amely lehetővé teszi, hogy a támadó kódot futtasson a szerveren, vagy hozzáférjen a PHP-szkriptek forráskódjához, ha a PHP CGI módban fut a Windows platformon (a mod_php, php-fpm és FastCGI konfigurációk nem érintettek). A problémát a PHP 8.3.8, 8.2.20 és 8.1.29 verziókban javították.
A sérülékenység a 2012-ben javított CVE-2012-1823 probléma egy különleges esete, amelyhez a megfelelő védelem nem volt elegendő ahhoz, hogy megakadályozza a támadást a Windows platformon. A támadási módszer a PHP-interpreter parancssori argumentumának manipulálására épül, amikor a PHP-szkript paramétereivel dolgoznak.
A régi CVE-2012-1823 sérülékenység kihasználásához elegendő volt parancssori opciókat megadni a lekérdezési paraméterek helyett, például: "http://localhost/index.php?-s" a szkriptek forráskódjának megjelenítéséhez. Az új sérülékenység azon alapul, hogy a Windows platform automatikusan átkonvertálja a karaktereket, ami lehetővé teszi, hogy a korábban hozzáadott védelmet megkerülve olyan karaktereket adjunk meg, amelyek bizonyos kódolásokban jelen vannak és "-" karakterre cserélődnek (például: http://localhost/index.php?s).
A sérülékenység megerősítést nyert hagyományos kínai (cp950), egyszerűsített kínai (cp936) és japán (cp932) nyelvekhez tartozó lokalizációkban, de elképzelhető más lokalizációk megjelenése is. A probléma alapértelmezett konfigurációval megjelenik az XAMPP (Apache + MariaDB + PHP + Perl) csomagban, illetve bármely Apache konfigurációban, ahol a php-cgi a CGI-szkriptek feldolgozásához van beállítva, a ‘Action cgi-script „/cgi-bin/php-cgi.exe”‘ vagy ‘Action application/x-httpd-php-cgi „/php-cgi/php-cgi.exe”‘ beállításokkal, vagy közvetlenül a php interpreter elhelyezésével a „/cgi-bin” könyvtárban és más könyvtárakban, ahol a CGI-szkriptek végrehajtása engedélyezett a ScriptAlias direktíva használatával.
Továbbá a PHP 8.3.8, 8.2.20 és 8.1.29 frissítésekben három másik sérülékenységet is kijavítottak:
CVE-2024-5458 — a FILTER_VALIDATE_URL szűrő kikerülésének lehetősége, amely a filter_var funkció hívásakor használatos.
- CVE-2024-5585 — alternatív támadási vektor a CVE-2024-1874 sérülékenységhez, amely lehetővé teszi az előzőleg bevezetett védelem megkerülését és parancsok megadását bat- és cmd-fájlok hívásakor a proc_open funkcióval a Windows platformon (BatBadBut sérülékenység).
Az openssl_private_decrypt funkció a Marvin támadásának van kitéve. - A szükséges kód tartalmazza a védekezést a fent említett problémák ellen.
- Ezenkívül az openssl_private_decrypt funkció támadásnak van kitéve a Marvin nevű támadó által.
Forrás: opennet.ru
