← Blog

Blog · Provoz

Kritická bezpečnostní chyba v PHP: aktualizujte hned

21. října 2026 vyšla oprava dvou chyb, přes které jde převzít server jediným požadavkem, bez hesla a bez přihlášení.

Moji klienti nemusí nic řešit. Weby a aplikace, které jsem dělal nebo spravuju, projdu sám a aktualizaci zařídím zdarma, včetně drobných úprav kódu do hodiny práce. Pokud si nejste jistí, jestli se vás to týká, napište mi.

PHP Foundation vydala bezpečnostní aktualizaci a k ní nezvykle ostré doporučení: „Pokud provozujete PHP, je nezbytné aktualizovat hned." PHP pohání většinu webů na internetu, včetně všech na WordPressu, a většinu firemních aplikací na běžném hostingu. Vycházím z článku PHP Foundation a oficiálního oznámení na php.net.

To nejdůležitější v kostce

Opravené verzePHP 8.5.12, 8.4.27, 8.3.36, 8.2.35
ChybyCVE-2026-109618 a CVE-2026-109619
ZávažnostCVSS 9.2 z 10 (kolovalo i chybné 10.0)
Dopadvzdálené spuštění kódu, útočník převezme web nebo server
Přihlášení útočníkanení potřeba
PHP 8.1 a staršíoficiální oprava nebude, nutný přechod na novější verzi

Co je za problém

Obě chyby jsou v jádru PHP, ve správě paměti a v ošetření chyb. Tím projde skoro každý požadavek na web, takže nezáleží na tom, jak dobře je napsaný samotný web.

  • Přetečení paměťového limitu (CVE-2026-109618). Když požadavek ve špatnou chvíli narazí na limit paměti, PHP po sobě nechá napůl rozpracovaná data a později s nimi pracuje, jako by byla v pořádku. Na Apache s mod_php to jde vyvolat ještě dřív, než se spustí kód webu. Útočník tak nepotřebuje znát ani váš web.
  • Zbytky po předchozím požadavku (CVE-2026-109619). Fatální chyba může nechat v PHP odkaz na paměť, kterou už předchozí požadavek uvolnil. Další požadavek ji pak použije. I tady se podařilo ukázat převzetí reálné aplikace.

Ohrožené jsou všechny běžné způsoby provozu: PHP-FPM, Apache mod_php, php-cgi, LiteSpeed i FrankenPHP. Nejhůř je na tom mod_php.

Proč to nejde odložit

Vydání neproběhlo podle plánu. Čísla chyb unikla den předem, jeden z auditorů omylem zveřejnil video s ukázkou útoku a opravené balíčky se objevily ještě před oficiálním vydáním. PHP Foundation proto vydání o den uspíšila. Podle ní to urychlilo i vývoj funkčních útoků. Počítejte s tím, že automatizované skenery začnou weby zkoušet během dnů, ne měsíců.

Co udělat

  1. Zjistěte verzi PHP. V administraci hostingu u domény, nebo ve WordPressu v Nástroje, Stav webu, Informace, Server.
  2. Sdílený hosting s PHP 8.2 a novějším: poskytovatel by měl PHP aktualizovat sám. Ověřte si u něj, že už se tak stalo.
  3. Sdílený hosting s PHP 8.1 a starším: přepněte na 8.3 nebo novější. Předtím si udělejte zálohu a po přepnutí web proklikejte. Starý kód na novém PHP občas padá.
  4. Vlastní server nebo VPS: aktualizujte balíčky z distribuce a restartujte PHP-FPM nebo Apache. Bez restartu běží dál stará verze.

Oficiální oznámení uvádí i dočasná opatření v konfiguraci serveru. Sami autoři ale píšou, že instalaci bezpečnou neudělají a jedinou úplnou opravou je aktualizace.

Starý web na PHP 7.4 nebo 8.1

Tady je největší riziko. PHP 8.1 a starší už oficiální opravy nedostávají. Bezpečnostní tým sice zveřejnil neoficiální záplaty pro 7.4, 8.0 a 8.1, ale jen pro ty, kdo si PHP kompilují sami. Na běžném hostingu vám nepomůžou.

Jestli web na novějším PHP nepoběží, je potřeba upravit kód. U menšího webu to bývají hodiny, u starší aplikace víc. Pozor i na PHP 8.2: podpora mu končí 31. 12. 2026, takže pokud už sahat, rovnou na 8.3 nebo 8.4. Jak se staví k převzetí staršího kódu, popisuju v článku Jak převzít zděděný kód.

Chyba je v PHP, ne ve vašem webu, takže ji neopraví aktualizace WordPressu ani pluginů. Opravené jsou verze 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Kdo má PHP 8.1 a starší, musí přejít na novější.

Časté otázky

Týká se to i mého webu na WordPressu?

Ano, pokud běží na PHP, a to WordPress běží vždy. Chyba je přímo v PHP, ne ve WordPressu ani v pluginech, takže aktualizace WordPressu ji neopraví. Opravit se musí PHP na serveru.

Mám sdílený hosting. Musím něco dělat?

Na sdíleném hostingu aktualizuje samotné PHP poskytovatel. Vy ale v administraci volíte verzi. Pokud máte zvolené PHP 8.1 nebo starší, oficiální oprava pro vás neexistuje a je potřeba přejít aspoň na 8.2, lépe na 8.3 nebo novější.

Jak zjistím, jakou verzi PHP můj web používá?

Nejrychleji v administraci hostingu, kde bývá volba verze PHP u každé domény. U WordPressu ji najdete v Nástroje, Stav webu, Informace, Server. Opravené jsou verze 8.5.12, 8.4.27, 8.3.36, 8.2.35 a novější.

Co když web na novějším PHP nepoběží?

Starší weby a aplikace psané pro PHP 7 často na PHP 8 hlásí chyby. Pak je potřeba upravit kód. Bezpečnostní tým sice zveřejnil neoficiální záplaty pro 7.4, 8.0 a 8.1, ale ty jsou jen pro servery, kde si PHP kompilujete sami. Na běžném hostingu je jediné rozumné řešení kód upravit a přejít na podporovanou verzi.

Kontrola zdarma pro mé klienty

Pokud jsem vám dělal web, e-shop nebo aplikaci, nebo vám ji spravuju, nemusíte nic hlídat. Zkontroluju verzi PHP, zařídím aktualizaci a ověřím, že vše funguje. Zdarma, včetně úprav kódu do jedné hodiny práce, což u většiny webů na přechod stačí. Pokud by starší aplikace potřebovala víc, řeknu vám předem, co přesně a kolik to bude stát, a bez vašeho souhlasu nic nefakturuju. Pokud mým klientem nejste a nevíte si rady, napište mi a podívám se, co by oprava obnášela. Pravidelnou péči o web řeším v rámci správy webových stránek.

Kontakt

Máte projekt? Napište mi.

Napište mi v pár větách, co potřebujete. Podívám se na to a navrhnu, jak na to. Bavíte se rovnou se mnou, ne s obchodníkem.

Působnost
Mariánské Lázně · Karlovarský kraj · celá ČR · Německo · vzdáleně

// Odpovídám obvykle do 24 hodin. První konzultace nic nestojí. Jak spolupráce probíhá →