Aktuální situace: PHP2Shell. Dvě kritické zranitelnosti PHP (CVSS 9.2) umožňují spustit škodlivý kód bez přihlášení. Záplaty od 21. 10. 2026.Co nyní udělat →

Proč aktualizace WordPressu proti PHP2Shell nepomůže

Mnoho provozovatelů po titulcích aktualizovalo WordPress a cítí se v bezpečí. Proč to u PHP2Shell vyjde naprázdno a co místo toho platí.

Stav 4 min čteníSituace a zařazení

Stručně: Aktualizace WordPressu proti zranitelnosti PHP2Shell nepomůže, protože chyba není ve WordPressu, ale v PHP, softwaru na serveru, který WordPress spouští. Podle Dr. Web proto WordPress.org ani neplánuje vlastní aktualizaci. Ochránit může jen aktualizace PHP na serveru s restartem všech procesů PHP. Tu zpravidla nasazuje váš poskytovatel hostingu nebo provozovatel serveru.

Výchozí bod: „Vždyť jsme všechno aktualizovali“

Po prvních titulcích k PHP2Shell udělalo mnoho provozovatelů to nejbližší: otevřít dashboard WordPressu, kliknout na „Aktualizovat nyní“, pluginy a šablony rovnou také. Potom je vše zelené a pocit říká: hotovo.

U této zranitelnosti pocit klame. Nezpůsobuje to WordPress, ale místo, kde chyba sídlí. I Cloudflare ve svém oznámení upozorňuje, že aktualizace kódu aplikace nebo pluginů zranitelnosti neodstraní.

Aktualizace WordPressu a zranitelnost PHP: model vrstev

Web na WordPressu se skládá z několika vrstev, které na sebe navazují. Každá vrstva má vlastní aktualizace a často vlastní odpovědné osoby:

Vrstva Příklad Kdo typicky aktualizuje Postiženo PHP2Shell?
Operační systém Debian, Ubuntu, AlmaLinux poskytovatel hostingu nebo správce serveru ne, ale často dodává balíček PHP
Webový server Apache, Nginx, LiteSpeed poskytovatel hostingu nebo správce serveru provozní režim ovlivňuje riziko
Běhové prostředí PHP PHP-FPM, mod_php poskytovatel hostingu nebo správce serveru ano, zde leží zranitelnost
Jádro WordPressu WordPress provozovatel nebo agentura ne
Pluginy a šablony WooCommerce, page builder provozovatel nebo agentura ne

Tlačítko aktualizace v dashboardu dosáhne jen na spodní dva řádky. Běhové prostředí PHP leží pod nimi a WordPress ho nevidí. Jak na PHP stojí další systémy, popisuje článek CMS a obchody na PHP.

Proč WordPress zranitelnost uzavřít nemůže

Dalo by se myslet, že WordPress může „programovat kolem“. U PHP2Shell to nefunguje ze dvou důvodů.

Za prvé obě chyby leží ve způsobu, jakým PHP zpracovává požadavky a poté uklízí. To se děje bez ohledu na to, jaký program v PHP běží. Za druhé předvedl tým PHP u Apache s mod_php exploit, který zabere dříve, než se vůbec spustí kód aplikace. WordPress, jeho pluginy ani žádný bezpečnostní plugin pak vůbec nepřijdou na řadu.

Ze stejného důvodu nepomůže ani „zpevňující plugin“, který mění nastavení přes ini_set(). php.net výslovně nedoporučuje nastavovat přechodná opatření touto cestou.

A u spravovaného WordPressu?

U nabídek spravovaného WordPressu se poskytovatel často stará nejen o aktualizace WordPressu, ale i o server pod ním. To je pro PHP2Shell výhoda, ale ne automatismus. Ptejte se konkrétně, zda byla aktualizace PHP nasazena a všechny procesy PHP restartovány. Výrok „Udržujeme váš WordPress aktuální“ na tuto otázku neodpovídá.

Mnoho webů, jedna instalace PHP

Agentury a firmy s více weby by měly znát jednu zvláštnost: Na jednom serveru často sdílí mnoho instalací WordPressu stejnou verzi PHP. Pokud je nezáplatovaná, jsou postiženy všechny, bez ohledu na to, jak dobře je každý jednotlivý web udržován. Naopak aktualizace PHP chrání všechny instalace najednou, pokud jsou poté restartovány všechny příslušné procesy PHP. Kdo provozuje souběžně několik verzí PHP, musí aktualizovat každou zvlášť.

Důležité

Zelený dashboard WordPressu o PHP2Shell nic nevypovídá. Rozhodující je stav záplat PHP na serveru a restart všech procesů PHP.

Jak správně číst verzi PHP ve WordPressu

WordPress zobrazuje verzi PHP: v dashboardu v části Nástroje, Stav webu, v oblasti Informace v sekci Server. To je dobrý první náznak, ale ne důkaz.

Pokud tam stojí větev jako 8.1 nebo starší, je to jasný varovný signál, protože pro ni už neexistují oficiální aktualizace. Pokud tam stojí 8.2.35, 8.3.36, 8.4.27 nebo 8.5.12, je nainstalován opravený stav. Pokud tam stojí starší číslo podporované větve, může být přesto nasazen backport. Distribuce a poskytovatelé přitom číslo často nemění. Jasno udělá jen potvrzení poskytovatele nebo pohled do changelogu balíčku. Jak na to, stojí na stránce Kontrola verze PHP a stavu záplat.

Co by provozovatelé WordPressu měli dělat místo toho

  1. Zeptat se poskytovatele hostingu nebo provozovatele serveru: Je PHP záplatováno, kdy a byly restartovány všechny procesy PHP? Odpověď písemně.
  2. Zkontrolovat větev PHP: Pokud web běží na 8.1 nebo starším, naplánovat přechod na podporovanou větev. Kterou verzi vaše verze WordPressu podporuje, stojí v systémových požadavcích na wordpress.org. Přepnutí v zákaznickém menu popisuje Změna verze PHP v zákaznické sekci hostingu.
  3. Hledat stopy: nové soubory PHP ve wp-content/uploads, neznámé administrátorské účty, cizí položky v mu-plugins. Typické úkryty popisuje stránka WordPress a PHP2Shell.
  4. WordPress přesto udržovat aktuální: Jádro, pluginy a šablony uzavírají jiné zranitelnosti. To zůstává povinností, jen jinou.
  5. Vyjasnit odpovědnost: Pokud web spravuje agentura, zaznamenat, zda odpovídá i za PHP, nebo jen za WordPress.

Právě poslední bod často způsobuje mezery. Agentura spravuje WordPress, poskytovatel server, a každý věří, že PHP2Shell má na starosti ten druhý.

Jak konkrétně pomáhá PHP SOS?

  • Vyjasnit vrstvy: Zjistíme, kdo u vašeho webu na WordPressu odpovídá za kterou vrstvu.
  • Aktualizovat PHP: Na vlastních nebo spravovaných serverech nasadíme aktualizaci PHP a restartujeme všechny procesy.
  • Zkontrolovat WordPress: Hledáme stopy útoku v souborech, databázi a účtech.
  • Doklad: Dostanete stav záplat písemně, i k předání agentuře nebo zákazníkům.

Postup popisuje služba záplatování PHP.

Závěr

Aktualizace WordPressu je dobrá údržba, ale proti PHP2Shell je to špatná vrstva. Zranitelnost sedí o patro níž, v PHP na serveru. Kdo to pochopí, položí správnou otázku na správném místě: Je PHP záplatováno, restartováno a doloženo?

Časté dotazy

Přinese WordPress bezpečnostní aktualizaci proti PHP2Shell?

Podle Dr. Web WordPress.org neplánuje proti PHP2Shell žádnou aktualizaci, protože zranitelnost leží v interpretu PHP na serveru. Pomůže jen aktualizace PHP od poskytovatele hostingu nebo provozovatele serveru.

Kde ve WordPressu uvidím verzi PHP?

V dashboardu v části Nástroje, Stav webu, v oblasti Informace v sekci Server. Zobrazené číslo ale nevypovídá jistě o tom, zda je záplata nasazena, protože poskytovatelé opravy často zabudovávají jako backport bez nového čísla verze.

Chrání před PHP2Shell bezpečnostní plugin?

Jen velmi omezeně. Plugin sám běží v PHP a aktivuje se teprve po načtení WordPressu. U Apache s mod_php byl podle týmu PHP předveden exploit dříve, než se vůbec spustí kód aplikace. Tam plugin zasáhnout nemůže.

Mám WordPress přesto aktualizovat?

Ano. Aktuální verze WordPressu, šablon a pluginů uzavírají jiné zranitelnosti a jsou součástí dobré údržby. Jen neřeší problém PHP2Shell.

Zdroje

Okamžitý kontakt

Každá hodina se počítá. Napište nám hned.

Stručně popište systém, verzi PHP a pozorování. Ozveme se, vyjasníme situaci a budeme pracovat na dálku, dokud nebude incident uzavřen a zdokumentován.

Okamžitá pomoc