Aktuális helyzet: PHP2Shell. Két kritikus PHP-rés (CVSS 9,2) lehetővé teszi kártékony kód futtatását bejelentkezés nélkül. Javítások 2026. 10. 21. óta.Mi a teendő most →

CVE-2026-109618: RCE Out-of-Memory állapot révén

A CVE-2026-109618 a két PHP2Shell-rés egyike: egy Out-of-Memory állapot a kérés feldolgozása közben megszakíthatja a PHP-t. Javítva a PHP 8.5.12, 8.4.27, 8.3.36 és 8.2.35 verziótól.

Állapot 4 perc olvasási időPHP2Shell

Röviden: A CVE-2026-109618 a PHP2Shell mögötti két rés egyike. Egy Out-of-Memory állapot megszakíthatja a PHP-t, miközben a kérésadatok még csak részben vannak inicializálva; takarításkor ilyenkor érvénytelen adatok érvényesnek számíthatnak. Ez bejelentkezés nélküli kódfuttatást tesz lehetővé. A hibát a PHP 8.5.12, 8.4.27, 8.3.36 és 8.2.35 verzióban javították.

Mi a CVE-2026-109618?

A CVE-2026-109618 (GitHub-azonosítója GHSA-w8hw-w9fx-j79w) egy memóriahiba-rés a PHP magjában. CVSS v4.0 9,2 értékkel minősítették. A CVE-2026-109619-cel együtt alkotja azt, amit a média PHP2Shell néven emleget.

A hatás az úgynevezett unauthenticated Remote Code Execution: egy támadó távolról és felhasználói fiók nélkül futtathat kódot a webszerveren. Ezzel a rés a webszerverek legveszélyesebb sebezhetőség-osztályába tartozik.

Hogyan keletkezik a rés alapvetően

Amikor a PHP feldolgoz egy webes kérést, belsőleg adatstruktúrákat hoz létre ehhez a kéréshez, például a beküldött űrlapadatokhoz. Ha a PHP eközben eléri a memóriahatárát, Out-of-Memory állapottal megszakad. A php.net szerint ez akkor történhet meg, amikor a kérésadatok még csak részben vannak inicializálva.

Minden kérés végén a PHP takarít, és felszabadítja a memóriát. Éppen itt van a hiba: a takarítás az érvénytelen, csak félig létrehozott adatokat érvényesként kezelheti. Ebből a hibás viselkedésből bizonyos feltételek mellett kódfuttatás vezethető le.

Miért ennyire komoly egy ilyen hiba? A programozási nyelv memóriahibája az összes rajta futó alkalmazást érinti, függetlenül attól, milyen gondosan programozták őket. Egy gondozott, naprakész bővítményekkel rendelkező WordPress-telepítés éppúgy érintett, mint egy régi saját fejlesztés. Ezért itt nem az alkalmazás frissítése segít, hanem csak a PHP frissítése.

A kihasználás további műszaki részleteit tudatosan nem tesszük közzé. A védekezéshez nem szükségesek: az a döntő, hogy a szervere javított verziót használ-e, és hogy az új folyamatok ténylegesen futnak-e.

Érintett verziók és üzemmódok

PHP-ág Utolsó állapot a javítás előtt Javítva ettől
8.5 8.5.11 8.5.12
8.4 8.4.26 8.4.27
8.3 8.3.35 8.3.36
8.2 8.2.34 8.2.35
8.1 és régebbi nincs hivatalos frissítés csak minimális forráskód-backportok a 7.4, 8.0, 8.1 verzióhoz

Érintettek a PHP-FPM, az Apache mod_php-val, a php-cgi, a FrankenPHP és a LiteSpeed üzemmódok. A PHP-csapat a mod_php esetében értékeli a kockázatot a legmagasabbra. A disztribúciók és a tárhelyszolgáltatók részben backportokat telepítenek, így régebbi verziószám jelenik meg, noha a hiba javítva van. A csomagállapot és a szolgáltató megerősítése a mérvadó.

A nagyságrendhez: a Palo Alto Networks (Unit 42) több mint 22,6 millió kitett, potenciálisan sebezhető példányt számolt össze. A BSI a 3. riasztási szintet (narancs) hirdette ki, és gyors, nagy léptékű kihasználással számolt.

A CVE-2026-109618 elhárítása: frissítés és újraindítás

Az egyetlen teljes megoldás a frissítés. Először ellenőrizze a verziót és a csomagállapotot. A csomagnevek disztribúciónként eltérnek; a példák PHP 8.3-ból indulnak ki:

php -v
apt policy php8.3-fpm          # Debian/Ubuntu
dnf info php-fpm               # RHEL, AlmaLinux, Rocky, Fedora
rpm -q --changelog php-fpm | grep -i "CVE-2026-109618"

Ha a csomag changelogja megnevezi a CVE-számot, a backport telepítve van. Ha hiányzik, az nem jelenti automatikusan, hogy a csomag sebezhető; ilyenkor a verziótáblázattal való összevetés vagy a szolgáltatónál való rákérdezés segít.

A frissítés után az összes PHP-folyamatot újra kell indítani, például systemctl restart php8.3-fpm paranccsal, vagy mod_php esetén az Apache újraindításával. Hogyan győződhet meg róla, hogy nem fut már régi worker, azt a PHP-FPM és az összes worker újraindítása oldal mutatja.

Átmeneti intézkedések, ha a frissítés még nem megy

A php.net átmeneti intézkedéseket tett közzé a PHP2Shell ellen. Ezek mindkét résre közösen érvényesek, és kifejezetten nem teljes védelmet jelentenek. Az, hogy több közülük a memóriahatárokra vonatkozik, illeszkedik a CVE-2026-109618 Out-of-Memory kiváltójához; az egyes intézkedések egyes CVE-khez való hivatalos hozzárendelése azonban nincs.

; Példa FPM-pool, pl. /etc/php/8.3/fpm/pool.d/www.conf (az útvonal disztribúciónként eltérő)
php_admin_value[memory_limit] = -1
php_admin_value[post_max_size] = 8M          ; 32M, ha szükség van feltöltésekre
php_admin_value[upload_max_filesize] = 6M    ; immer unter post_max_size
php_admin_flag[session.upload_progress.enabled] = off

Az értékeket úgy kell beállítani, hogy az alkalmazások ne írhassák felül őket, ezért php_admin_value. A memory_limit=-1 esetén a szolgáltatásnak kívülről, konténeren vagy cgroupon keresztül kell memóriahatár, nem az RLIMIT_AS vagy az RLIMIT_DATA révén. PHP 8.5-ön hozzájön a fatal_error_backtraces=0. Az összes részlet az Azonnali intézkedések, ha még nem tud javítani oldalon van.

Fontos

Ha sem a frissítés, sem az átmeneti intézkedések nem lehetségesek azonnal, a BSI azt ajánlja, hogy az érintett webszervereket átmenetileg vegyék le a hálózatról.

Hogyan segít konkrétan a PHP SOS?

A PHP-javítási szolgáltatásunkkal strukturáltan zárjuk le a CVE-2026-109618-at:

  • A jelenlegi állapot felmérése: PHP-ág, üzemmód, csomagforrás és backport-állapot szerverenként.
  • Frissítés telepítése a megfelelő csomagforrásból, vagy ahol ez nem megy, az átmeneti intézkedések szabályos beállítása a pool- vagy szerverkonfigurációban.
  • Az újraindítás ellenőrzése: Ellenőrizzük, hogy nem fut-e már régi PHP-folyamat.
  • Igazolás: Dokumentációt kap a verziókkal és csomagállapotokkal a beavatkozás előtt és után, például a vezetésnek, a biztosítónak vagy az adatvédelemnek.

Gyakori kérdések

Mennyire kritikus a CVE-2026-109618?

A rést CVSS v4.0 9,2 értékkel minősítették, vagyis kritikus. Kártékony kód távoli futtatását teszi lehetővé bejelentkezés nélkül. A BSI (a német Szövetségi Információbiztonsági Hivatal) a PHP2Shell kapcsán a 3. riasztási szintet (narancs) hirdette ki.

Elég a memory_limit megemelése?

Nem. A php.net a memory_limit=-1 értéket, a szerverkonfigurációban rögzítve, az egyik átmeneti intézkedésként nevezi meg. Kifejezetten nem teljes védelem, és konténeren vagy cgroupon keresztüli memóriahatárt igényel. A megoldás a frissítés marad.

Melyik GHSA-azonosító tartozik a CVE-2026-109618-hoz?

A GitHub Security Advisoryben a rés GHSA-w8hw-w9fx-j79w alatt szerepel. A második PHP2Shell-rés, a CVE-2026-109619 azonosítója GHSA-6wmf-4rv5-p3rp.

Források

Azonnali kapcsolat

Minden óra számít. Írjon nekünk most.

Ismertesse röviden a rendszert, a PHP-verziót és a megfigyelését. Jelentkezünk, tisztázzuk a helyzetet, és távolról dolgozunk, amíg az incidens le nem zárul és dokumentálva nem lesz.

Azonnali segítség