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 →

A PHP-verzió és a javítási állapot helyes ellenőrzése

A kijelzett PHP-verzió önmagában nem mondja meg, hogy a PHP2Shell le van-e zárva. A döntő a csomagállapot, a backportok és az, hogy az új folyamatok tényleg futnak-e.

Állapot 4 perc olvasási időPHP2Shell

Röviden: A PHP-verzió ellenőrzéséhez a php -v nem elég. Tudnia kell, melyik PHP-verziót használja ténylegesen a webszerver, tartalmazza-e a csomag a javítást, akár régi számú backportként is, és hogy a frissítés után újraindították-e az összes folyamatot. A PHP2Shell a 8.5.12, 8.4.27, 8.3.36 és 8.2.35 verzióban javított.

Miért nem elég önmagában a verziószám

A PHP2Shell esetében van egy világos lista a javított verziókról. A gyakorlatban mégis három helyzet vezet téves értékeléshez:

  • Több telepítés: A parancssor PHP 8.3-at mutat, a weboldal azonban egy PHP 8.1-es poolon fut.
  • Backportok: A disztribúciók és a tárhelyszolgáltatók a javításokat részben a meglévő csomagokba telepítik. Ilyenkor a Plesk például továbbra is 8.2.34-et mutat, noha javítva van.
  • Régi folyamatok: Az új fájlok a lemezen vannak, a futó workerek azonban még a korábbiból származnak.

A vezetésnek és a nem műszaki olvasóknak egy egyszerű ökölszabály segít: ne csak azt kérdezze, „Milyen PHP-verziónk van?“, hanem azt is, „Le van-e zárva a PHP2Shell minden szerveren, és miből látjuk ezt?“. Egy megbízható válasz három bizonyítékot tartalmaz: verzió vagy backport, csomagállapot és az újraindítás időpontja.

A műszaki ellenőrzésnek ezért három lépése van: verzió, csomagállapot, futó folyamatok. Az alábbi parancsok kizárólag olvasók. A csomag- és szolgáltatásnevek disztribúciónként, PHP-forrásonként és tárhelyfelületenként eltérnek; a példák PHP 8.3-ból indulnak ki.

PHP-verzió ellenőrzése a parancssorban

php -v                                  # a parancssor verziója
ls /etc/php/ 2>/dev/null                # Debian/Ubuntu: telepített ágak
php-fpm8.3 -v                           # az FPM-bináris verziója (neve disztribúciónként eltér)
php -i | grep -E "^PHP Version|Server API|Loaded Configuration File"

RHEL, AlmaLinux vagy Rocky alatt az FPM bináris neve többnyire php-fpm; Software Collectionsnél vagy külső forrásoknál további verziók saját útvonalakon vannak. A Plesk és a cPanel saját PHP-telepítéseket hoz magával, amelyek a rendszer-PHP mellett léteznek. Hogyan járjon el ott, azt a Plesk és a cPanel oldalai írják le.

Hogy egy weboldal a webes környezetben melyik PHP-verziót használja, azt a legmegbízhatóbban a pool- vagy VirtualHost-konfigurációban vagy a tárhelyfelületen látja. Egy phpinfo-oldal is megmutatja; csak rövid időre, hozzáférés-védelemmel és véletlenszerű névvel hozza létre, és utána azonnal törölje.

Megosztott tárhelynél többnyire nincs hozzáférése a parancssorhoz. Ilyenkor a tárhelyfelület mutatja a weboldalankénti beállított PHP-verziót. Hogy telepítettek-e backportot és újraindították-e, az ott ritkán áll. Itt a tárhelyszolgáltató írásos megerősítése a megbízható út.

A csomagállapot és a backportok ellenőrzése

A csomagállapot megmutatja, mit szállított ténylegesen a disztribúciója:

# Debian/Ubuntu
apt policy php8.3-fpm
apt changelog php8.3-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

# RHEL, AlmaLinux, Rocky, Fedora
dnf info php-fpm
rpm -q --changelog php-fpm | grep -i -E "CVE-2026-109618|CVE-2026-109619"

Ha a CVE-számok egyike szerepel a changelogban, a backport benne van a telepített csomagban. Ha a bejegyzés hiányzik, az még nem bizonyítja a rést: egyes csomaggondozók másképp fogalmazzák a changelogot. Ilyenkor vesse össze a csomagverziót a disztribúciója biztonsági közleményeivel, vagy kérdezzen rá a szolgáltatónál. Egy mintát ehhez a kérdéshez a Így kérdezze meg a tárhelyszolgáltatótól a javítási állapotot oldalon talál.

Fontos: minden telepített PHP-csomagot ellenőrizzen, ne csak az elsőt. Több ágat futtató szervereken gyakran az egyik javított, a másik nem.

Tényleg az új verzió fut?

A frissítés csak akkor hatásos, ha az összes PHP-folyamatot újraindították. Vesse össze a futó folyamatok indulási idejét a frissítés időpontjával:

ps -o pid,lstart,cmd -C php-fpm8.3      # az FPM-folyamatok indítási ideje
systemctl status php8.3-fpm             # mióta fut a szolgáltatás
needrestart -r l                        # Debian/Ubuntu, ha telepítve van: megmutatja az elavult folyamatokat

Ha az indulási idő a frissítés előtt van, még régi folyamatok futnak. Apache mod_php-val ugyanez érvényes az Apache-folyamatokra. Hogyan indítson újra szabályosan, azt a PHP-FPM és az összes worker újraindítása írja le.

Tipp

Rögzítse írásban az eredményt: szerver, PHP-verzió, csomagverzió, CVE a changelogban igen vagy nem, az újraindítás időpontja. Erre a feljegyzésre szüksége lesz a vezetésnek, a biztosítónak és egy későbbi nyomellenőrzéshez.

Az eredmény besorolása

Lelet Értékelés
Hivatalos 8.5.12, 8.4.27, 8.3.36 vagy 8.2.35 verzió, a folyamatok újraindítva A PHP2Shell le van zárva
Régebbi szám, a CVE-számok a csomag changelogjában, a folyamatok újraindítva Backport telepítve, lezárva
Régebbi szám, nincs changelog-bejegyzés, nincs megerősítés tisztázatlan, a szolgáltatónál kell tisztázni
PHP 8.1 vagy régebbi megerősített backport nélkül nyitott, átmeneti intézkedések és migráció szükséges
A folyamatok régebbiek a frissítésnél Hiányzik az újraindítás, a rés továbbra is aktív

Ha egy szerver „tisztázatlan“ állapotban marad, kezelje úgy, mint a nyitottat: állítsa be az átmeneti intézkedéseket, és követelje a tisztázást, amíg nincs bizonyíték. A teljes verzióáttekintés a Mely PHP-verziókat érinti? oldalon található.

Hogyan segít konkrétan a PHP SOS?

A PHP-javítási szolgáltatással átvesszük az ellenőrzést és az igazolást:

  • Az összes telepítés megtalálása, a hosting-panelekből, Software Collectionsből vagy konténerekből származó másodverziókat is.
  • A csomagállapot értékelése: hivatalos kiadás, backport vagy nyitott, a changelogból vagy a szolgáltatótól származó bizonyítékkal.
  • Az újraindítás ellenőrzése, amíg már egyetlen folyamat sem fut régi kóddal.
  • Ellenőrzési jegyzőkönyv készítése, amelyet belsőleg és harmadik felek előtt is használhat.

Gyakori kérdések

Miért mutat a php -v más verziót, mint a weboldalam?

Sok szerveren több PHP-verzió van telepítve. A parancssor az egyiket használja, a webszerver vagy egy FPM-pool egy másikat. Ezért azt a verziót ellenőrizze, amely ténylegesen a webes környezetben fut, például az FPM bináris vagy a tárhelyfelület segítségével.

Hogyan ismerek fel egy backportot?

A disztribúciós csomagoknál a javítás gyakran a csomag changelogjában áll, sokszor a CVE-számmal. Debianon és Ubuntun az apt changelog segít, RHEL-szerű rendszereken az rpm -q --changelog. Ha a bejegyzés hiányzik, tisztázza az állapotot a szolgáltatónál.

Ellenőrizhetem a PHP-verziót a tárhely ügyfélmenüjében?

Igen, a legtöbb felület megmutatja a weboldalankénti beállított verziót. Hogy telepítettek-e backportot és újraindították-e, azt ott többnyire nem látja. Ehhez a tárhelyszolgáltató írásos megerősítése a megbízható út.

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