Röviden: A PHP2Shell két PHP-hiba (CVE-2026-109618 és CVE-2026-109619), amellyel bejelentkezés nélkül lehet kódot futtatni a szerveren. Javított verziók: 8.2.35, 8.3.36, 8.4.27, 8.5.12, illetve a CloudLinux és a Hostinger október 21-i buildjei a régi verziószámmal. A WordPress frissítése ezen nem segít, a tárhely PHP-ját kell frissíteni.
A PHP2Shell két PHP-hiba közös neve (CVE-2026-109618 és CVE-2026-109619). A PHP fejlesztői 2026. október 21-én adtak ki rá javítást. A hiba a PHP feltöltés-követő funkciójában (session.upload_progress) van, és bejelentkezés nélkül, távolról lehet vele kódot futtatni a szerveren. Egy WordPress oldalnál ez a legrosszabb eset: aki kihasználja, mindent megtehet, amit maga az oldal.
Másnap, október 22-én végignéztem több mint 60 weboldalt, amelyet karbantartok, vagy amelyhez hozzáférésem van. Leírom, mit néztem, mit találtam, és mit tehetsz, ha a te oldalad is érintett lehet.
Mi a PHP2Shell, és kit érint?
A PHP az a programnyelv, amelyen a WordPress fut. A tárhelyed szerverén van telepítve, és a tárhelyszolgáltató frissíti. Emiatt a WordPress vagy a bővítmények frissítése ezt a hibát nem javítja, a szerveren futó PHP-t kell frissíteni.
A javított hivatalos verziók:
- PHP 8.5.12
- PHP 8.4.27
- PHP 8.3.36
- PHP 8.2.35
A 8.1-es és régebbi ágakra a PHP projekt már nem ad ki új verziót. Ezek a verziók évek óta nem kapnak hivatalos támogatást.
Miért félrevezető a verziószám?
Itt van a csavar. A cPanel-es tárhelyek nagy része CloudLinuxot használ, és a CloudLinux október 21-én minden PHP-ágra kiadta a javítást, a régi verziószám megtartásával, a 8.1-re és a 7.4-re is. A Hostinger szerint a menedzselt tárhelyein szintén minden verzió védett. Egy 8.1.34-es PHP így lehet javított, egy 8.3.35-ös pedig javítatlan.
Az biztos jel, hogy mikor készült a PHP (build date). Ha a php -v parancs kimenetében „built: Oct 21 2026" vagy későbbi dátum áll, a javítás benne van.
A felmérésben mindkét esetet láttam. Egy oldal 8.3.35-ön futott, ez újnak hangzik, de a build október 6-i volt, tehát javítatlan. Egy másik 8.1.34-en futott, egy október 21-i CloudLinux-builddel, tehát védett.
Mit találtam a 60+ oldalon?
- A többség rendben volt. Vagy a javított hivatalos verzió futott rajtuk, vagy a tárhely javított buildje.
- Két oldalt 8.1-ről 8.3-ra emeltem. A 8.1-es build javított volt, de ez az ág már nem kap támogatást. Közben kiderült, hogy a CloudLinux PHP-választója a beállításokat (memória, futásidő, feltöltési méret) verziónként tárolja. Váltás után ezeket át kell másolni, különben az oldal 128 MB memóriával indul. Egy webshopnál ez a pénztárat is megakaszthatta volna.
- Egy oldalt szándékosan nem emeltem. 2019-es oldalépítő és slider bővítmény fut rajta, ezek az újabb PHP-n valószínűleg hibát adnak. Ott előbb a bővítményeket kell frissíteni, és csak utána a PHP-t.
- Öt oldalon ideiglenes enyhítést tettem fel. Ezeken a tárhely még nem adta ki a javítást, vagy olyan régi rendszer fut, amelyre nem is fog. A webgyökérbe egy
.user.inifájl került, amely kikapcsolja a feltöltés-követést. Ez a két hibából csak az egyik ellen véd, és csak részben. - Néhány oldal intézményi vagy olcsó tárhelyen fut, PHP 7.4-gyel. Ezekre nincs javítás. Levélben jeleztem az üzemeltetőknek, és megírtam, mire van szükség.
- Több mint húsz oldalnál nincs szerver-hozzáférésem. Ott a tárhelytől vagy az ügyféltől kell megkérdezni a pontos buildet.
Mit tegyél most?
- Kérdezd meg a tárhelyed. Elég ennyi: „Melyik PHP-verzión fut az oldalam, és benne van-e a 2026. október 21-i PHP2Shell-javítás (CVE-2026-109618, CVE-2026-109619)?"
- Ha 8.1-es vagy régebbi PHP-n vagy, emeld 8.3-ra vagy 8.4-re. Előtte egy másolaton nézd meg, hogy a téma és a bővítmények működnek-e rajta. Webshopnál próbáld ki a kosarat és a pénztárat is.
- Ha a tárhely nem tud javítást adni, tegyél fel ideiglenes enyhítést. A webgyökérbe egy
.user.inifájl kell ezzel a sorral:session.upload_progress.enabled = 0. Ez nem helyettesíti a javítást, de szűkíti a támadási felületet. - Ha a tárhely régi rendszert futtat, és nem tud frissíteni, költözz. Egy olyan szerver, amelyre nincs biztonsági javítás, a következő hibánál is ugyanígy védtelen lesz.
A WordPress admin felületén az Eszközök → Webhely egészsége → Információ → Szerver alatt látod a PHP-verziót. A build dátumát viszont innen nem, ahhoz a tárhely kell, vagy SSH-hozzáférés.
Röviden
A PHP2Shell a szerveren futó PHP hibája, ezért a javítás a tárhely dolga. A verziószám önmagában nem árulja el, hogy védett vagy-e, a build dátuma igen. Ha nem tudod, hol fut az oldalad, és ki frissíti a PHP-t, írd meg az oldalad címét, és megnézem.

