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é verze | PHP 8.5.12, 8.4.27, 8.3.36, 8.2.35 |
| Chyby | CVE-2026-109618 a CVE-2026-109619 |
| Závažnost | CVSS 9.2 z 10 (kolovalo i chybné 10.0) |
| Dopad | vzdálené spuštění kódu, útočník převezme web nebo server |
| Přihlášení útočníka | není 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
- Zjistěte verzi PHP. V administraci hostingu u domény, nebo ve WordPressu v Nástroje, Stav webu, Informace, Server.
- 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.
- 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á.
- 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.
- info@podhaiskydigital.cz
- Telefon
- +420 727 932 276
- 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á →