// Web byPalda

Kritická chyba v PHP (php2shell): je váš web v ohrožení? Co udělat ještě dnes

Mimořádná oprava PHP z 21. 10. 2026: dvě kritické díry pustí útočníka na server bez přihlášení. Jak zjistit verzi PHP, co hrozí a jak to rychle vyřešit.

Stručně: Ve středu 21. října 2026 vydali tvůrci PHP mimořádnou bezpečnostní opravu. Dvě chyby, kterým se říká php2shell, umožňují útočníkovi spustit na serveru vlastní kód bez jakéhokoli přihlášení. Hodnocení 9,2 z 10. Týká se každého webu, který na PHP běží: WordPress, Joomla, Drupal, Shoptet, e-shopy, firemní weby, intranety. Na webech se to už zneužívá, a opravu dostaly jen verze PHP 8.2 až 8.5. Kdo má starší PHP, tomu žádná aktualizace nepřijde. Níže je, jak si verzi za dvě minuty ověřit, co hrozí a jak to řešíme my: kontrola zdarma, oprava obvykle za hodinu práce.

Co se stalo

PHP je jazyk, ve kterém běží zhruba sedm z deseti webů na světě, které mají na serveru nějaký program. WordPress, většina e-shopů, redakční systémy, rezervace, formuláře. V úterý 20. října unikly na internet detaily dvou chyb přímo v jádru PHP, tedy ne v nějakém pluginu nebo šabloně, ale v tom, co pohání úplně všechno nad tím. Tým PHP proto o den urychlil vydání opravy a 21. října ve 14:00 UTC vyšly verze 8.5.12, 8.4.27, 8.3.36 a 8.2.35.

Oba problémy jsou vedené jako CVE-2026-109618 a CVE-2026-109619, obě se závažností 9,2 z 10 (CVSS v4). Zjednodušeně: útočník pošle webu speciálně připravený požadavek, PHP se při jeho zpracování zamotá do vlastní paměti a dá se přimět, aby spustilo cizí kód. Bez hesla, bez účtu, bez chyby v aplikaci. Stačí, že web odpovídá na požadavky z internetu.

Bezpečnostní firmy ukázaly funkční útok na čerstvě nainstalovaný WordPress, Drupal i Joomlu. Hostingy a Cloudflare hlásily pokusy o zneužití ještě před vydáním opravy. A v Česku šlo o tak vážnou věc, že si Úřad vlády, Český hydrometeorologický ústav a Drážní úřad na několik hodin vypnuly weby, než je stihli opravit. NÚKIB vyzval všechny provozovatele webů na PHP k okamžité aktualizaci.

Proč to nemůžete odložit na příští měsíc

  1. Útok nepotřebuje nic vědět o vašem webu. U chyb v pluginech se útočník musí trefit do konkrétního pluginu a konkrétní verze. Tady stačí, že web běží na PHP. Útočníci proto skenují celý internet, ne vybrané cíle. Malý firemní web je stejně dobrá kořist jako velký portál, často lepší, protože si toho nikdo nevšimne.
  2. Postup útoku je veřejný. Detaily unikly dřív, než byla oprava venku. Každý, kdo chce, má návod.
  3. Co může útočník udělat: přepsat web, podstrčit návštěvníkům škodlivý kód, rozesílat z vašeho serveru spam a phishing, odnést databázi zákazníků, nasadit zadní vrátka a vrátit se za půl roku. Chyby navíc mohou vyzradit obsah paměti serveru, tedy i hesla a klíče, které tam byly. Po úspěšném útoku je tak potřeba měnit přístupy, nejen záplatovat.
  4. Google a prohlížeče si toho všimnou. Napadený web skončí s červeným varováním „Tento web může poškodit váš počítač“ a vypadne z výsledků hledání. Vrátit se trvá týdny.

Nejhorší zpráva: starší PHP opravu nedostalo

Oprava vyšla jen pro PHP 8.2, 8.3, 8.4 a 8.5. PHP 8.1 skončilo s podporou 31. prosince 2025, PHP 8.0 a celá řada 7 už dávno. Tým PHP pro ně zveřejnil jen minimální nouzové záplaty, které si musí hosting sám zabudovat, a výslovně říká, že to není návrat podpory.

Jenže podle statistik W3Techs běží stále skoro 30 % webů na PHP 7 a dalších 8 % dokonce na PHP 5. Bezpečnostní firma CybelAngel spočítala, že z internetových serverů, které svou verzi PHP prozrazují, jich 59 % běží na větvi, pro kterou oprava nevyšla. U WordPressu je podle jeho vlastních statistik na nepodporovaném PHP přes třetinu webů. V Česku to u menších firemních webů z let 2015 až 2020 není výjimka, ale spíš pravidlo: web udělal kamarád nebo agentura, která už neexistuje, a hostingový účet má nastavenou verzi PHP, kterou tam někdo kdysi zvolil. Takový web nikdo nikdy neopraví, pokud mu někdo verzi ručně nepřepne. A přepnutí ze 7.4 na 8.3 starý WordPress s deseti pluginy obvykle nepřežije bez úprav.

A pozor: PHP 8.2 končí 31. prosince 2026. Kdo má dnes 8.2, je zatím v pořádku, ale za dva měsíce bude ve stejné situaci jako dnes majitelé PHP 8.1.

Jak za dvě minuty zjistit, zda se vás to týká

  • Nejrychleji: zadejte adresu webu do našeho web testeru. Do 20 sekund ukáže, jestli web prozrazuje zranitelnou verzi PHP, a k tomu zkontroluje HTTPS, rychlost a základní zabezpečení. Zdarma, bez registrace. Když server verzi skrývá (to je správně), tester poradí, kde se zeptat.
  • WordPress: v administraci otevřete Nástroje → Stav webu → Informace → Server. Tam je položka Verze PHP. Potřebujete 8.2.35, 8.3.36, 8.4.27 nebo 8.5.12 a vyšší.
  • Hosting: v administraci hostingu (Active24, Wedos, Forpsi, Český hosting…) bývá volba Verze PHP u každé domény. Stejná čísla.
  • Nevíte, kde hledat? Pošlete nám adresu webu, verzi zjistíme a napíšeme, jak jste na tom. Zdarma, do 24 hodin.

Samotná aktualizace WordPressu, šablony ani pluginů nepomůže. Chyba je v PHP na serveru, to je vrstva pod tím a mění se zvlášť.

Jak to vyřešit: tři cesty

1. Máte PHP 8.2 až 8.5 a dobrý hosting

Větší hostingy přepnuly opravené verze samy během středy. Zkontrolujte, že se to stalo i u vás (čísla výš), a jste hotovi. Když hosting ještě opravu nenasadil, zeptejte se ho kdy, a mezitím nechte nastavit alespoň doporučené zmírnění: vypnout session.upload_progress a omezit velikost požadavků. Není to oprava, jen snižuje riziko.

2. Máte starší PHP (8.1, 8.0, řada 7) a web na WordPressu nebo jiném systému

Tady je potřeba web přesunout na podporovanou verzi PHP, nejlépe 8.3 nebo 8.4. U zdravého webu je to přepnutí v administraci hostingu a kontrola, že vše funguje. U zanedbaného webu se objeví chyby v šabloně nebo pluginech, které je nutné opravit nebo nahradit. To je přesně práce, kterou děláme: do 24 hodin řekneme, co web čeká, a na pevnou cenu to provedeme. Typicky jde o jednotky hodin při sazbě 1 490 Kč za hodinu, u webu bez zálohy a s mrtvými pluginy o den práce.

3. Web, který už nestojí za záchranu

Když web pochází z roku 2016, na mobilu se rozpadá a každý rok s ním je další kolo aktualizací a nervů, je lepší cesta nový web. Naše weby stavíme jako statické: hotové stránky, které server jen posílá a nic na něm nepočítá. Na jádře webu žádné PHP neběží, takže ho podobná chyba nemůže zasáhnout a nemusí se nic záplatovat. PHP používáme jen na odeslání formuláře, v jedné malé, přehledné části, kterou máme pod kontrolou a aktualizujeme. Firemní web na míru stojí 29 900 Kč a je hotový do 14 dnů, adresy stránek i pozice v Googlu zachováme.

Co děláme u svých webů

Všechny weby, které jsme postavili, jsou statické: na jejich stránkách žádné PHP neběží, takže se jich chyba netýká. Jediné místo s PHP jsou formuláře na hostingu. Náš hosting Active24 oznámil, že své platformy zabezpečil, a 22. října ráno událost uzavřel. Na „hosting to jistě udělal“ se ale při chybě 9,2 z 10 nespoléhá: verzi si u každého webu ověřte, nebo nám pošlete adresu a ověříme ji za vás.

Co udělat teď

  1. Zjistit verzi PHP: web tester za 20 sekund, nebo ručně podle návodu výš.
  2. Když je nižší než opravená, dnes ji zvednout, nebo napsat někomu, kdo to udělá.
  3. Když web běží na PHP 7 nebo 8.0 a 8.1, počítat s tím, že přechod na novější verzi bude chtít kontrolu a pár úprav. Čím dřív, tím levněji.
  4. Když si nejste jistí, zda web už někdo nenapadl: podívat se na neznámé soubory a účty v administraci, změnit hesla k administraci, databázi a FTP.

Nevíte, kde začít? Pošlete nám adresu webu. Do 24 hodin dostanete zprávu, jak na tom je a co by stálo dát ho do pořádku. Kontrola je zdarma a nezavazuje k ničemu.

Další čtení

Pojďme to postavit.

Napište, co potřebujete. Ozvu se do 24 hodin s konkrétním návrhem a cenou. První konzultace je zdarma a k ničemu nezavazuje.