PHP2Shell: ktoré verzie PHP sú opravené a ako zistiť tú vašu
V októbri 2026 projekt PHP opravil 2 kritické zraniteľnosti, ktoré môžu útočníkovi umožniť spustiť kód na serveri bez prihlásenia. CISA ich označuje ako „php2shell“. Evidujú sa pod označením CVE-2026-109618 a CVE-2026-109619 a obe majú hodnotenie 9,2 podľa CVSS v4.0. Ak niektorá časť online služieb vašej firmy beží na PHP, postup je jednoduchý: uistite sa, že beží na PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12 alebo novšom, prípadne na balíku od dodávateľa, ktorý opravu obsahuje.
Tento článok vysvetľuje, čo bolo opravené, ktoré verzie opravu obsahujú, ako zistiť, akú verziu hlási váš server, a na čo sa opýtať tých, ktorí spravujú váš hosting. Môžete si tiež za pár sekúnd overiť, akú verziu PHP hlási váš web.
Čo je PHP2Shell
Bezpečnostné upozornenie PHP z 21. októbra 2026 opisuje 2 chyby v tom, ako PHP narába s internými údajmi požiadavky:
- CVE-2026-109618, poškodenie pamäte pri jej nedostatku. Keď PHP minie dostupnú pamäť, môže byť prerušené vo chvíli, keď sú interné údaje požiadavky inicializované len čiastočne, a následné upratovanie potom môže neplatné údaje považovať za platné.
- CVE-2026-109619, zastaraný stav požiadavky. Interný stav patriaci jednej požiadavke môže pretrvať aj po uvoľnení jej pamäte a neskoršia požiadavka spracovaná tým istým procesom ho môže použiť.
Obe môžu umožniť vzdialené spustenie kódu bez overenia. Podľa upozornenia je zraniteľná každá inštalácia PHP, ktorá obsluhuje webové požiadavky, vrátane PHP-FPM, Apache s mod_php, php-cgi, FrankenPHP a LiteSpeed. Tím PHP považuje za najrizikovejší mod_php, pretože požiadavka môže útok spustiť ešte predtým, ako sa vykoná akýkoľvek kód aplikácie. To zároveň znamená, že aplikácia nad ním (WordPress, e-shop, vlastný portál) vás sama osebe neochráni. Opraviť treba samotné PHP.
Opravené verzie a časová os
- 21. októbra 2026: projekt PHP vydal verzie 8.2.35, 8.3.36, 8.4.27 a 8.5.12 s opravou. V ten istý deň zverejnilo varovanie Národné centrum kybernetickej bezpečnosti SK-CERT a CISA vydala upozornenie.
- 26. októbra 2026: CISA zaradila obe CVE do svojho katalógu Known Exploited Vulnerabilities, teda zoznamu zraniteľností, pri ktorých existujú dôkazy o zneužívaní v praxi.
PHP 8.1 a staršie už od projektu PHP aktualizácie nedostávajú (pozri podporované verzie). Upozornenie uvádza, že niektoré linuxové distribúcie a dodávatelia dlhodobej podpory opravy spätne prenášajú a že bezpečnostný tím PHP zverejnil minimálne záplaty zdrojového kódu pre 7.4, 8.0 a 8.1 pre tých, ktorí si PHP kompilujú sami. Ak vaša služba beží na niektorej z týchto vetiev, opýtajte sa dodávateľa, či obsahuje opravu, a naplánujte prechod na podporovanú vetvu.
Ako zistiť, akú verziu PHP používate
Jednoznačnú odpoveď dá samotný server, nie pohľad zvonku:
- Opýtajte sa toho, kto službu prevádzkuje (poskytovateľa hostingu, agentúry alebo IT oddelenia), na presnú verziu PHP a či obsahuje opravy z 21. októbra.
- Ak máte prístup do príkazového riadku, spustite
php -v. Webový server môže používať iný binárny súbor PHP než príkazový riadok, preto skontrolujte verziu aj v paneli hostingu alebo v poole PHP-FPM. - Balíky od dodávateľa ukáže správca balíkov: na Debiane a Ubuntu
dpkg -l | grep php, na RHEL a podobných systémochrpm -qa | grep php. Porovnajte verziu balíka s bezpečnostným oznámením dodávateľa, pretože dodávatelia často ponechajú pôvodné číslo verzie a opravu len doplnia.
Zvonku niektoré servery prezrádzajú svoju verziu v hlavičkách HTTP odpovede:
X-Powered-By: PHP/8.3.12
Server: Apache/2.4.62 (Debian)
Vlastné hlavičky si zobrazíte príkazom curl -sI https://www.example.com/. Naša kontrola PHP2Shell číta tie isté 2 hlavičky, X-Powered-By a Server, a porovná číslo s opravenými verziami.
Čo hlavička prezradí a čo nie
Pri čítaní hlavičky buďte opatrní v oboch smeroch:
- Staré číslo nedokazuje, že server je zraniteľný. Mnohí poskytovatelia hostingu nasadia opravu na úrovni systému a pôvodné označenie verzie ponechajú.
- Aktuálne číslo je dobré znamenie, nie dôkaz. Hlavičku možno zmeniť alebo ju môže nastaviť proxy pred serverom.
- Bez čísla nemáte žiadnu informáciu. Väčšina serverov verziu PHP vôbec neposiela. Keď sme 31. októbra 2026 merali 8 221 domén slovenských firiem, z 8 171, ktoré odpovedali, uviedlo verziu PHP v hlavičkách len 332 (4,1 %). Pri ostatných hlavička nehovorí nič ani jedným smerom a otázka patrí tomu, kto službu prevádzkuje.
Čo robiť teraz
- Aktualizujte PHP na 8.2.35, 8.3.36, 8.4.27, 8.5.12 alebo novšie, prípadne nainštalujte opravený balík od dodávateľa. Reštartujte PHP-FPM alebo webový server, aby naozaj bežala nová verzia.
- Opýtajte sa poskytovateľa hostingu písomne, na akej verzii PHP beží vaša služba a či obsahuje opravy CVE-2026-109618 a CVE-2026-109619. To isté sa opýtajte aj na testovacie servery a staršie projekty; pozri zabudnuté staging a testovacie servery.
- Naplánujte odchod z PHP 8.1 a starších, ak spätne prenesená oprava nie je k dispozícii.
- Prestaňte verziu prezrádzať. Nastavte
expose_php = Offvphp.ini, čím odstrániteX-Powered-By, a obmedzte hlavičkuServer(ServerTokens Prodpre Apache,server_tokens offpre nginx). Samo osebe to nič neopraví, no prestanete tým ponúkať podrobnosti automatizovaným skenerom. Viac v článku Bezpečnostné hlavičky HTTP, ktoré by mal posielať každý firemný web.
Ak nemôžete aktualizovať hneď, upozornenie uvádza dočasné opatrenia, ktoré obmedzia konkrétne spôsoby útoku, a zároveň jasne hovorí, že úplným riešením je len aktualizácia.
Ako pomáha Datahorses
Vašu firmu strážime zvonku každý deň, tak ako by ju videl útočník, a prístup do vašich systémov nepotrebujeme. Keď server začne prezrádzať zastaranú verziu softvéru, dostanete zistenie s presným postupom pre toho, kto server spravuje. Pozrite sa, čo strážime, alebo si vyžiadajte ponuku.
Ďalšie články
Ako preveriť dodávateľa kybernetickej bezpečnosti pred podpisom zmluvy
Bezpečnostný dodávateľ uvidí hlboko do vašej firmy a niekedy do nej dostane aj prístup. Ktoré otázky položiť a ktoré dokumenty overiť skôr, než čokoľvek podpíšete.
SPF, DKIM a DMARC zrozumiteľne pre majiteľov firiem
3 záznamy DNS rozhodujú o tom, či môže ktokoľvek poslať mail, ktorý vyzerá, akoby prišiel z vašej domény. Vysvetlíme, čo robí každý z nich a ako ich za pár minút overiť.
CEO podvod a vydávanie sa za vedenie: ako sociálne inžinierstvo mieri na platby
Správa, ktorá vyzerá, že ju poslal váš generálny riaditeľ, žiada urgentnú a dôvernú platbu. Ako funguje vydávanie sa za vedenie a jednoduché pravidlá, ktoré ho zastavia.