Stručne: PHP2Shell je názov pre dve kritické bezpečnostné zraniteľnosti v samotnom PHP, CVE-2026-109618 a CVE-2026-109619. Cez ne môžu útočníci na zraniteľných webových serveroch bez prihlásenia spúšťať škodlivý kód. Nápravu prinesie iba aktualizácia na opravenú verziu PHP s následným reštartom všetkých procesov PHP.
Čo je PHP2Shell?
PHP je programovací jazyk, na ktorom beží veľká časť všetkých webov: firemné stránky s WordPressom alebo TYPO3, internetové obchody so Shopwarom alebo WooCommerce, interné portály a vlastné vývoje. Dňa 21. októbra 2026 zverejnil projekt PHP bezpečnostné aktualizácie pre dve zraniteľnosti, ktoré sa stali známymi pod názvom PHP2Shell.
Obe zraniteľnosti majú podľa CVSS v4.0 skóre 9,2, teda sú hodnotené ako kritické. Následok je v oboch prípadoch rovnaký: spustenie škodlivého kódu na diaľku bez toho, aby sa útočník musel prihlásiť. Odborníci hovoria o „unauthenticated Remote Code Execution“. Kto môže na serveri spúšťať kód, môže v najhoršom prípade čítať údaje, zabudovať zadné vrátka alebo server využiť na ďalšie útoky.
Dôležité pre pochopenie: zraniteľnosť nie je v konkrétnom CMS ani doplnku, ale v PHP. Aktualizácia WordPressu, Shopwaru alebo TYPO3 ju preto neuzavrie.
Prečo je zraniteľnosť taká vážna?
Tri body robia PHP2Shell z pohľadu bezpečnostných orgánov obzvlášť citlivým:
- Rozsah: Dotknuté sú bežné spôsoby prevádzky PHP, a to PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP a LiteSpeed. Palo Alto Networks (Unit 42) napočítalo viac ako 22,6 milióna exponovaných, potenciálne zraniteľných inštancií.
- Nie je potrebné prihlásenie: Útočník nepotrebuje ani heslo, ani používateľský účet.
- Skorý okamih: Pri Apache s mod_php bol podľa tímu PHP ukázaný exploit ešte predtým, než sa vôbec spustí kód aplikácie. Ochranné funkcie vnútri webu potom nezaberú.
BSI vyhlásil výstražný stupeň 3 (oranžový). Odporúča okamžitú aktualizáciu a, ak to nie je možné hneď, dočasné odpojenie dotknutých webových serverov od siete.
Ktoré servery sú PHP2Shell dotknuté?
Zraniteľnosti sú opravené v PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Staršie stavy týchto vetiev sú dotknuté. Pre PHP 8.1 a staršie už neexistujú oficiálne aktualizácie; podľa odbornej tlače sú dotknuté prakticky všetky verzie až po PHP 5.4. Úplný prehľad nájdete na stránke Ktoré verzie PHP sú dotknuté?.
Osobitosť: distribúcie Linuxu a poskytovatelia hostingu nasadzujú opravy čiastočne ako backport. Plesk potom naďalej zobrazuje napríklad 8.2.34, hoci je chyba opravená. Rozhodujúci je stav balíka a potvrdenie poskytovateľa. Ako to preveriť, vysvetľujeme na stránke Správne overenie verzie a stavu záplat PHP.
Čo je preukázané a čo je otvorené?
Preukázané sú obe čísla CVE, opravené verzie a prechodné opatrenia, ktoré zverejnil php.net. Dňa 23. októbra pribudlo upozornenie na ďalšiu zraniteľnosť, CVE-2026-115560, ktorá sa uplatní iba pri nezvyčajnej konfigurácii.
Pravdepodobné je, že útočníci naďalej aktívne hľadajú nezáplatované servery. Podľa správ médií bol prvý pokus o útok pozorovaný už 17. októbra, teda pred zverejnením záplat. Cloudflare hlásil pokusy o útok a nasadil ochranné pravidlá, upozorňuje však, že pravidlá založené iba na údajoch požiadavky nestačia.
Otvorené je, koľko serverov už bolo úspešne napadnutých. Potvrdené úspešné útoky vo väčšom rozsahu neboli podľa BSI spočiatku známe. Neexistujú zverejnené, potvrdené Indicators of Compromise. Či bol server dotknutý, sa preto dá posúdiť iba analýzou správania. Časový priebeh zhŕňa chronológia od 17. do 25. októbra.
Čo by firmy mali urobiť teraz
- Objasniť, kto je zodpovedný: vlastný server, spravovaný server alebo poskytovateľ hostingu.
- Aktualizovať PHP na opravenú verziu alebo potvrdený backport.
- Reštartovať všetky procesy PHP. Samotné nové súbory nestačia, kým staré procesy bežia v pamäti.
- Zabezpečiť logy, a to od 20. októbra. Odborná tlač radí tieto údaje uchovať.
- Skontrolovať stopy. Záplata neodstráni už zavlečený škodlivý softvér a nedokazuje, že sa predtým nič nestalo. Upozornenia k tomu poskytuje stránka Som už kompromitovaný?.
Aktualizácia zatvára dvere, ale neupratuje. Ak bol váš server dostupný medzi 17. októbrom a záplatou, kontrola stôp je povinnosť, nie voliteľný bonus.
Ako konkrétne pomáha PHP SOS?
S okamžitou pomocou pri PHP2Shell preberáme kroky, ktoré mnohé firmy interne krátkodobo nepokryjú:
- Inventúra: Zistíme verziu PHP, spôsob prevádzky a stav balíkov každého dotknutého servera.
- Záplata alebo prechodné riešenie: Nasadíme aktualizáciu alebo, ak to ešte nejde, zavedieme prechodné opatrenia z php.net a vyjasníme otázku, či sa má server dočasne odpojiť od siete.
- Reštart a doklad: Reštartujeme všetky procesy PHP a zdokumentujeme stav pred a po.
- Kontrola stôp: Zabezpečíme logy od 20. októbra a kontrolujeme nápadnosti, kým nie je incident uzavretý a zdokumentovaný.
Časté otázky
Je PHP2Shell zraniteľnosť WordPressu?
Nie. Zraniteľnosti sú v PHP, teda v programovacom jazyku, na ktorom bežia WordPress, Shopware, TYPO3 a mnohé ďalšie systémy. Aktualizácia CMS ich preto neuzavrie. Rozhodujúci je stav PHP na serveri.
Musím ako zákazník poskytovateľa hostingu niečo urobiť sám?
Pri zdieľanom hostingu aktualizáciu PHP spravidla nasadzuje poskytovateľ. Napriek tomu by ste si mali nechať písomne potvrdiť, že vami používaná verzia PHP bola záplatovaná a reštartovaná. Či sa pred záplatou niečo stalo, aktualizácia nevysvetlí.
Odkiaľ pochádza názov PHP2Shell?
Názov opisuje následok: cez PHP môže útočník v najhoršom prípade získať na serveri príkazový riadok, teda shell. Oficiálne označenia sú čísla CVE-2026-109618 a CVE-2026-109619.
Bol môj web už napadnutý, ak bol odpojený od siete?
Nie nevyhnutne. Niektorí poskytovatelia weby preventívne odpojili od siete, ako to odporúča BSI (nemecký Spolkový úrad pre informačnú bezpečnosť), ak aktualizácia nie je možná hneď. Je to ochranné opatrenie, nie doklad o útoku.