A PHP fejlesztők ma 17:00 órakor (MSK) sürgősségi javítókiadásokat (8.5.12, 8.4.27, 8.3.36 és 8.2.35) jelentettek be, amelyekben két kritikus sebezhetőséget fognak orvosolni. Minden PHP-t futtató szerver adminisztrátorának javasolt azonnal telepítenie a javításokat a rendszereikre a kiadásukat követően. A hivatalos részletek csak a javítások megjelenése után fognak napvilágot látni, de a nyilvános információk alapján a CVE-2026-109618 és a CVE-2026-109619 sebezhetőségekről van szó, amelyek potenciálisan lehetővé teszik távoli kódvégrehajtást bármely webserveren, amely PHP-szkripteket futtat alapértelmezett konfigurációban. A problémák minden verziót érintenek, kezdve a PHP 5.4-től.
Az interneten már megjelentek az exploitok prototípusai (1, 2), amelyekkel a rendszerek sebezhetőségének tesztelésére lehetőség van. Az exploit megjegyzésében azt állítják, hogy a sebezhetőségek a fájlfeltöltési állapotfigyelő kezelőjénél már felszabadított memória eléréséből adódnak. szerver (session.upload_progress). A támadáshoz nincs szükség arra, hogy a weboldalon fájlok feltöltésére alkalmas funkció legyen, elegendő, ha automatikusan aktiválódik a PHP-értelmező „multipart/form-data” tartalomkezelője. A sikeres kihasználáshoz a folyamat memóriájában található adatszerkezetek helyének meghatározása szükséges, amely minden buildnél specifikus (a probléma megoldható az exploitban a különböző disztribúciók csomagjaiból előre kiszámított eltolások kipróbálásával).
Védelmi megoldásként ajánlások találhatók a php.ini fájl "session.upload_progress.enabled = off" paraméterének beállítására (vagy "php_admin_flag[session.upload_progress.enabled] = off" a PHP-FPM-ben), de a PHP projekt képviselője és az első exploit prototípus szerzője nyilatkozott, hogy ez nem elegendő a két sebezhetőség blokkolásához. A második exploit prototípus megjegyzésében megemlítik, hogy a támadás megakadályozásához patch alkalmazása nélkül a php.ini-ban említett beállításon kívül teljes mértékben blokkolni kell a „multipart/form-data” tartalmú kéréseket, ami lehetetlenné tenné a fájlok feltöltését webformákon keresztül.
Az Apache httpd-ben a multipart kérések blokkolásához a következő szabály használható a mod_rewrite-ben:
RewriteCond %{HTTP:Content-Type} multipart [NC]
RewriteRule ^ — [F,L]
Nginx esetén a blokkoláshoz:
if ($http_content_type ~* "multipart") {
return 403;
}
A Caddy blokkolásához:
@multipart header_regexp Content-Type (?i)multipart
respond @multipart 403
Kiegészítés: Megjelentek a PHP 8.5.12, 8.4.27, 8.3.36 és 8.2.35 javítókiadásai, valamint a kijavított kritikus sebezhetőségekről szóló részletek. A sebezhetőségek elemzése és az hivatalosan javasolt védelmi megkerülések külön hírben találhatók.
Forrás: opennet.ru
