Přejít na obsah

PHP2Shell: kritické zranitelnosti PHP – jak je nyní opravit

BSI varuje před CVE-2026-109618 a CVE-2026-109619: dotčené verze, bezpečné aktualizace a návod ke kontrole
21. října 2026 od
PHP2Shell: kritické zranitelnosti PHP – jak je nyní opravit

21. října 2026  |  PHP  |  IT bezpečnost

PHP2Shell: kritické bezpečnostní chyby PHP CVE-2026-109618 a CVE-2026-109619, aktualizujte PHP nyní

Dne 21. října 2026 vydal bezpečnostní tým PHP aktualizace pro všechny dosud podporované verze PHP. Opravují dvě kritické zranitelnosti, které vešly ve známost pod názvem PHP2Shell. BSI k nim vydal varování a požaduje neprodlené nasazení oprav na dotčených systémech. Každý, kdo provozuje webový server s PHP, by měl jednat ještě dnes. Týká se to i všech, kdo provozují „jen“ WordPress, Nextcloud nebo Joomla, protože tyto aplikace běží na PHP.

Tento článek shrnuje, co se stalo, kterých verzí PHP se problém týká, jakou verzi nyní potřebujete a jak během několika minut ověřit, zda je váš server zabezpečený.

Co se stalo? Časový přehled

Bezpečnostní tým PHP oznámil vydání oprav předem, aby poskytovatelé hostingu a správci měli čas se připravit. Samotné vydání proběhlo 21. října 2026. BSI ještě téhož dne vydal své varování (verze 1.1).

Časová osa: předběžné varování 20. 10. 2026, záplaty PHP 21. 10. 2026 ve 14:00 UTC, varování BSI 21. 10. 2026

  • 20. října 2026: Bezpečnostní tým PHP předem upozorňuje, že následující den vyjdou bezpečnostní aktualizace.
  • 21. října 2026, 14:00 UTC (16:00 SELČ): Vycházejí opravy pro PHP 8.5, 8.4, 8.3 a 8.2.
  • 21. října 2026: BSI varuje před „kritickými zranitelnostmi, které ohrožují webové aplikace po celém světě“, a doporučuje neprodleně nasadit opravy. Podle BSI někteří velcí poskytovatelé hostingu preventivně odpojili část serverů od sítě.

Přehled obou zranitelností PHP

Jde o dvě samostatné chyby v jádře PHP: CVE-2026-109618 a CVE-2026-109619. Podle bezpečnostního týmu PHP mohou obě umožnit útočníkovi spustit na serveru programový kód bez přihlášení (vzdálené spuštění kódu bez ověření totožnosti). Zranitelnosti mají hodnocení CVSS v4.0: 9,2 (kritické).

VlastnostVýznam
IdentifikátoryCVE-2026-109618 a CVE-2026-109619
HodnoceníCVSS v4.0: 9,2 — kritické
DopadSpuštění kódu na serveru (Remote Code Execution) bez přihlášení
Příčina 1Poškození paměti, pokud PHP během zpracování nemůže získat další operační paměť (Out-of-Memory)
Příčina 2Neaktuální globální stav, který zůstává v paměti mezi požadavky
Zvláště ohrožené prostředíApache s mod_php

Podle vyhodnocení BSI nebyly v době zveřejnění potvrzeny žádné útoky, existovaly však neověřené informace o pokusech o zneužití. U kritických zranitelností tak rozšířeného softwaru lze podle zkušeností očekávat, že útočníci opravy zanalyzují a připraví automatizované útoky. Času na nasazení oprav je proto málo.

Koho se problém týká?

Problém se v zásadě týká každého serveru, na kterém běží PHP, bez ohledu na způsob jeho zapojení: PHP-FPM, mod_php v Apache, php-cgi, FrankenPHP nebo LiteSpeed. Podle bezpečnostního týmu PHP je riziko nejvyšší u Apache s mod_php.

BSI výslovně zmiňuje aplikace založené na PHP, kterých se proto problém může také týkat:

  • Systémy pro správu obsahu: WordPress, Drupal, TYPO3, Joomla
  • E-shopové systémy: Magento
  • Cloudová a souborová úložiště: Nextcloud
  • Rozhraní firewallů: pfSense, OPNsense

Samotná aplikace přitom nemusí obsahovat chybu. Zranitelnost je v PHP, proto samotná aktualizace WordPress, Nextcloud & dalších aplikací nepomůže. Je nutné aktualizovat verzi PHP na serveru. U firewallů jako pfSense a OPNsense se opravená verze PHP dodává prostřednictvím příslušné aktualizace firmwaru od výrobce.

Tyto verze PHP jsou bezpečné

Zranitelnosti jsou opraveny v následujících verzích. Všechny nižší verze se považují za zranitelné.

Bezpečné verze PHP s opravami CVE-2026-109618 a CVE-2026-109619: PHP 8.5.12, 8.4.27, 8.3.36 a 8.2.35

Větev PHPMinimální požadovaná verzePoznámka
PHP 8.58.5.12aktuální větev
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35Podpora končí 31. prosince 2026
PHP 8.1 a staršíbez oficiální aktualizace, viz níže

Jak zkontrolovat a aktualizovat server

1. Zjistěte nainstalovanou verzi PHP

V příkazovém řádku serveru zobrazí php -v verzi PHP používanou pro příkazový řádek. Webový server může používat jinou verzi PHP. Proto zkontrolujte také verzi PHP-FPM nebo modulu Apache, například pomocí php-fpm8.3 -v nebo prostřednictvím stránky, která vypisuje výstup phpinfo() (tu poté ihned odstraňte).

2. Nainstalujte aktualizaci pomocí správce balíčků

U Debian, Ubuntu, RHEL a příbuzných distribucí se opravená verze instaluje běžným správcem balíčků, například pomocí apt update && apt upgrade nebo dnf upgrade. V externích zdrojích, jako je Sury-PPA nebo repozitář Remi, se nové balíčky obvykle objevují brzy po vydání.

3. Restartujte službu PHP

Samotná aktualizace balíčků nestačí: běžící procesy PHP uchovávají v paměti starý kód. Restartujte PHP-FPM (systemctl restart php8.3-fpm) nebo Apache (systemctl restart apache2) a poté ověřte, že byly procesy spuštěny až po aktualizaci.

4. Weby na hostingu

U sdíleného hostingu aktualizaci zpravidla provádí poskytovatel. V zákaznické administraci lze většinou nastavit verzi PHP pro každý web zvlášť. Vyberte tam některou z výše uvedených bezpečných verzí nebo se poskytovatele zeptejte na stav nasazení oprav. Podle BSI někteří poskytovatelé preventivně odpojili servery od sítě. Pokud je váš web krátce nedostupný, může to být důvod.

PHP 8.1 a starší: bez oficiální aktualizace

Pro PHP 8.1 a starší již nevycházejí oficiální bezpečnostní aktualizace. Provozovatelé těchto systémů mají dvě možnosti:

  • Přejít na podporovanou verzi (doporučeno). Čím starší verze, tím více úprav aplikace a rozšíření bývá zapotřebí, proto je vhodné přechod předem otestovat.
  • Přenést opravy do starších verzí. Bezpečnostní tým PHP zpřístupnil opravy ve vývojových větvích na GitHub. Kdo si PHP kompiluje sám, může tyto změny převzít do starších verzí. Jde o dočasné řešení, které vyžaduje odborné znalosti.

Také PHP 8.2 je podporováno už jen do 31. prosince 2026. Naplánujte proto přechod na PHP 8.4 nebo 8.5 již nyní a neodkládejte ho na přelom roku.

Dočasná opatření a otázka „Odpojit server od sítě?“

Bezpečnostní tým PHP spolu s oznámením popsal také dočasná ochranná opatření. Ta snižují riziko, zranitelnosti však zcela neodstraňují. Nenahrazují aktualizaci a slouží pouze k překlenutí doby do jejího nasazení.

Zda je vhodné server do aktualizace odpojit od sítě, závisí na jeho významu a dostupnosti. BSI uvádí, že velcí poskytovatelé k tomuto kroku přistoupili. Obecně platí:

  • Veřejně dostupný server, aktualizaci lze provést hned: okamžitě nasadit opravy, vypnutí není nutné.
  • Veřejně dostupný server, aktualizaci nelze provést v nejbližší době: omezit přístup (například firewallem pouze na známé adresy) nebo službu dočasně vypnout, zejména při použití mod_php.
  • Server dostupný pouze interně: opravy nasadit co nejdříve, naléhavost je nižší.

Časté dotazy

Musím aktualizovat WordPress, Joomla nebo Nextcloud?

Kvůli této zranitelnosti ne. Nachází se v PHP, nikoli v aplikaci. Aktualizujte verzi PHP na serveru. Aktualizace samotné aplikace má přesto smysl nezávisle na tomto problému.

Jak poznám, zda už někdo zranitelnost zneužil?

S jistotou to lze určit jen obtížně. Varovnými příznaky jsou neznámé soubory PHP ve webovém adresáři, neobvyklé procesy běžící pod uživatelem webového serveru, nové uživatelské účty nebo úlohy cronu a neobvyklý odchozí datový provoz. Při konkrétním podezření by měl systém projít forenzní analýzou a v případě pochybností by měl být znovu nainstalován.

Stačí webový aplikační firewall?

Firewall může zachytit známé vzorce útoků, ale nenahrazuje aktualizaci. Více o součinnosti několika vrstev ochrany se dočtete v našem článku Zabezpečení Odoo 19: firewall, 2FA & Web RBL. Tyto zásady platí pro každou webovou aplikaci.

Týká se problém i Odoo?

Ne. Odoo je napsáno v Python a neběží na PHP. Problém by se týkal pouze aplikací PHP běžících na stejném serveru.

Kde najdu oficiální informace?

Oznámení bezpečnostního týmu PHP najdete v archivu novinek na php.net (příspěvek z 20. října 2026), verze na php.net/downloads. Varování BSI má číslo 2026-297981-1032 a je na webu bsi.bund.de zveřejněno.

Podpora od Biricon IT Services

Pokud si nejste jisti, jaká verze PHP na vašem serveru běží, nebo potřebujete pomoc s nasazením oprav, rádi vám pomůžeme: se zmapováním všech systémů PHP, s instalací aktualizací, s přechodem na podporovanou verzi PHP i s kontrolou případného napadení. Jako poskytovatel IT služeb spravujeme servery, firewally a webové aplikace pro malé a střední podniky.

Kontaktujte nás nyní

Stav k 21. říjnu 2026. Situace se může rychle měnit; rozhodující jsou informace zveřejněné bezpečnostním týmem PHP a BSI.