Gen. partnerAlgotech

PHP2Shell: Kritické chyby v základech internetu. Dva roky od objevu problému až po chaos kolem oprav

Dvě kritické zranitelnosti v PHP, možnost vzdáleného spuštění kódu, bezpečnostní problém známý už od roku 2024 a komplikované zveřejnění oprav, které provázely úniky informací i porušení embarga. Kauza PHP2Shell vyvolala mimořádnou reakci bezpečnostní komunity a dotkla se také českých institucí. Přinášíme kompletní přehled případu, původní zdroje a speciální vydání CCTV NEWS.

|
27. října 2026

Dvě kritické zranitelnosti v PHP vyvolaly v říjnu 2026 mimořádnou reakci bezpečnostní komunity. Chyby v technologii, která zajišťuje provoz značné části webových aplikací, mohou za určitých podmínek umožnit vzdálené spuštění kódu bez předchozího přihlášení. Ještě zajímavější než samotný technický problém je ale příběh, který jeho zveřejnění předcházel.

Jeden ze základních problémů byl známý už v roce 2024. Vývojáři PHP však dlouho hledali bezpečný způsob opravy. Když se v srpnu 2026 podařilo prokázat možnost vzdáleného spuštění kódu, začal závod s časem. Výsledkem byly mimořádné bezpečnostní aktualizace, úniky informací před plánovaným zveřejněním a veřejný spor o dodržování bezpečnostního embarga.

Celou kauzu podrobně rozebíráme ve speciálním vydání CCTV NEWS Ep.351. V tomto článku najdete shrnutí nejdůležitějších souvislostí a především odkazy na původní zdroje, technické analýzy a bezpečnostní doporučení.

Co je PHP2Shell a proč je tak závažný?

Označení PHP2Shell se používá pro dvě kritické zranitelnosti v samotném jádře PHP:

  • CVE-2026-109618 – chyba související se zpracováním nedostatku operační paměti.
  • CVE-2026-109619 – chyba způsobená nesprávným zachováním interního stavu a následnou prací s již uvolněnou pamětí.

Obě zranitelnosti mohou za určitých podmínek umožnit vzdálené spuštění kódu na zranitelném serveru, a to i bez předchozí autentizace.

První zranitelnost souvisí se situací, kdy PHP při dosažení paměťového limitu nesprávně zpracuje chybový stav. Některé interní datové struktury pak mohou zůstat v nekonzistentním stavu, což může vést k poškození paměti.

Druhá zranitelnost se týká případů, kdy po závažné chybě zůstávají v interním stavu odkazy na již uvolněnou paměť. Jejich následné použití může vést k takzvanému use-after-free a za specifických podmínek rovněž ke spuštění útočníkova kódu.

Nejde tedy o chyby konkrétního webu, redakčního systému nebo zásuvného modulu. Problém se nachází přímo v prostředí PHP, které webové aplikace vykonává.

Skutečná zneužitelnost však závisí na používané verzi PHP, způsobu jeho nasazení, konfiguraci a dalších technických podmínkách.

Podrobný technický rozbor obou zranitelností zveřejnila společnost Calif Research.

Princip fungování zranitelností a jejich dopady popisuje také oficiální vyjádření PHP Foundation z 21. října 2026.

Proč se problém nevyřešil už v roce 2024?

Jedna z nejzajímavějších částí celé kauzy sahá do roku 2024.

Projekt PHP tehdy prošel externím bezpečnostním auditem, který realizovala společnost Quarkslab. Audit organizovala nezisková organizace OSTIF díky financování od Sovereign Tech Agency.

Při řešení jednoho z nalezených problémů si vývojář PHP všiml také rizika souvisejícího se zpracováním nedostatku operační paměti. Šlo o základ problému, který se později stal součástí CVE-2026-109618.

V té době však nebyl znám konkrétní způsob, jak tuto chybu zneužít ke vzdálenému spuštění kódu.

Současně se ukázalo, že oprava nebude jednoduchá. Některá navrhovaná řešení mohla narušit zpětnou kompatibilitu, vytvořit nové problémy s dostupností služeb nebo vyžadovat změny v rozšířeních třetích stran.

Bezpečnostní tým PHP navíc fungoval na základě konsenzu a nedokázal mezi jednotlivými variantami vybrat vhodné řešení.

PHP Foundation ve svém oficiálním vyjádření otevřeně přiznala, že zpoždění bylo důsledkem nedostatků v rozhodovacím procesu bezpečnostního týmu i jeho omezených personálních kapacit.

Zásadní posun přišel až v srpnu 2026.

Výzkumníci společnosti Calif prokázali možnost vzdáleného spuštění kódu s využitím stejné základní chyby, která byla identifikována už v roce 2024. Nezávisle na tom problém identifikovala také společnost OpenAI a další možnosti zneužití popsali výzkumníci ze společnosti Wiz.

Od srpna 2026 se proto oprava stala jednou z hlavních priorit bezpečnostního týmu PHP.

Důležité je rozlišovat mezi znalostí základního technického problému a znalostí jeho plného bezpečnostního dopadu. Není přesné tvrdit, že vývojáři už v roce 2024 znali obě zranitelnosti PHP2Shell v podobě, v jaké byly zveřejněny v říjnu 2026.

Kompletní historii popisuje PHP Foundation v článku Today's PHP Security Release, and How We're Strengthening PHP Security.

Únik informací a porušení bezpečnostního embarga

Bezpečnostní tým PHP připravoval koordinované zveřejnění zranitelností a souvisejících oprav.

Smyslem tohoto postupu je umožnit dodavatelům a provozovatelům systémů připravit aktualizace ještě před okamžikem, kdy se technické informace dostanou k širší veřejnosti.

Původní plán počítal s vydáním bezpečnostních aktualizací 22. října 2026.

Situaci ale zkomplikovala série událostí, které začaly už 20. října.

Na internetu se nejprve začaly šířit identifikátory obou zranitelností. PHP Foundation proto zveřejnila předběžné bezpečnostní upozornění a rozhodla se vydání oprav přesunout o den dříve, na 21. října.

Další komplikací bylo předčasné zveřejnění demonstračního videa společnosti Calif, které ukazovalo fungování exploitu. Video bylo následně odstraněno, ale jeho kopie se začaly šířit po internetu.

Největší spor však vyvolala společnost Chainguard.

Ta 21. října v 07:41 UTC zveřejnila aktualizované kontejnerové obrazy obsahující bezpečnostní opravy. Oficiální vydání PHP přitom bylo naplánováno až na 14:00 UTC.

Podle PHP Foundation tím Chainguard porušil dohodnuté bezpečnostní embargo.

Problém spočívá také v tom, že zveřejnění opravené verze může útočníkům umožnit porovnat původní a nový kód. Z rozdílů lze následně odvodit, kde se bezpečnostní chyba nacházela a jak mohla fungovat.

Tento postup se označuje jako patch diffing.

Chainguard naopak svůj postup obhajoval snahou co nejrychleji chránit uživatele v situaci, kdy už informace o zranitelnostech unikaly a existovaly obavy z jejich zneužívání.

Celý případ tak otevřel zajímavou otázku: Co je v podobné situaci důležitější? Zachovat koordinované zveřejnění, nebo zpřístupnit hotové opravy co nejrychleji?

Podrobnou časovou osu včetně popisu porušení embarga zveřejnila PHP Foundation ve svém oficiálním vyjádření.

Jak rozsáhlé byly pokusy o zneužití?

Po zveřejnění informací o PHP2Shell začaly bezpečnostní společnosti zaznamenávat pokusy o zneužití obou zranitelností.

Společnost Check Point ve své analýze z 22. října uvedla, že pokusy o zneužití zaznamenala u přibližně 10 % organizací ve sledovaném souboru.

V Evropě tento podíl dosahoval 14 % a v České republice 12 %.

Nejvyšší hodnoty podle Check Pointu vykazovaly telekomunikace, kde pokusy zasáhly 20 % sledovaných organizací, a sektor vzdělávání s 18 %.

Tato čísla neznamenají, že uvedené procento organizací bylo úspěšně napadeno.

Check Point výslovně upozornil, že jde o zaznamenané pokusy o zneužití, nikoli o potvrzené kompromitace.

Kompletní statistiky včetně rozdělení podle zemí a sektorů najdete v analýze Check Point Research.

Důležitost přesného vyhodnocování bezpečnostních incidentů ukazuje také případ společnosti Palo Alto Networks.

Její výzkumný tým Unit 42 původně popsal aktivitu, kterou spojoval se zneužitím PHP2Shell. V aktualizaci z 25. října však své závěry upřesnil a uvedl, že nemůže potvrdit, zda byl počáteční průnik skutečně způsoben konkrétními zranitelnostmi PHP2Shell.

Podrobnosti jsou dostupné v technické analýze Palo Alto Networks Unit 42.

Při hodnocení skutečných dopadů je proto důležité rozlišovat mezi existencí zranitelného systému, pokusem o zneužití a potvrzeným úspěšným útokem.

PHP2Shell v České republice

Na kritické zranitelnosti reagovaly také české instituce.

Některé přistoupily k preventivnímu omezení dostupnosti svých webových služeb, aby snížily riziko zneužití do doby provedení potřebných bezpečnostních opatření.

Dne 21. října zveřejnil Národní úřad pro kybernetickou a informační bezpečnost upozornění na kritické zranitelnosti v PHP.

O preventivních odstávkách informovala také česká média.

Dočasná opatření se dotkla například webu Úřadu vlády, některých služeb Českého hydrometeorologického ústavu nebo webu Drážního úřadu.

Preventivní opatření přijalo také Letiště Praha, které dočasně omezilo jednu ze svých webových služeb. Nešlo o přerušení leteckého provozu.

Další informace o reakci českých institucí přinesla Česká televize.

Pozornost vyvolal také incident na Českém vysokém učení technickém v Praze.

Dne 22. října univerzita informovala o kybernetickém útoku a preventivně odstavila část svých systémů.

Podrobnosti přinesla Česká tisková kancelář.

Je však důležité zdůraznit, že veřejně dostupné informace nepotvrzují, že útočníci při incidentu na ČVUT úspěšně zneužili konkrétní zranitelnosti CVE-2026-109618 nebo CVE-2026-109619.

Preventivní odstavení webové služby není samo o sobě důkazem, že byla úspěšně napadena.

Opravené verze PHP a doporučená bezpečnostní opatření

Projekt PHP vydal 21. října 2026 bezpečnostní aktualizace opravující dvě hlavní zranitelnosti PHP2Shell.

Opravené verze jsou:

  • PHP 8.2.35
  • PHP 8.3.36
  • PHP 8.4.27
  • PHP 8.5.12

Informace o aktualizacích jsou dostupné v oficiálním bezpečnostním oznámení PHP.

U starších větví PHP, které již nejsou standardně podporované, mohou být bezpečnostní opravy dostupné prostřednictvím konkrétních distribucí nebo dodavatelů dlouhodobé podpory.

Je proto důležité ověřit, zda používaná instalace skutečně obsahuje opravu příslušných zranitelností.

Hlavním doporučením PHP Foundation je bezodkladná aktualizace. Stejný postup doporučuje také český NÚKIB.

Společnost Red Hat zveřejnila vlastní bezpečnostní bulletin RHSB-2026-013, ve kterém popisuje také možnosti dočasného omezení rizika.

Mezi ně patří například vypnutí funkce sledování průběhu nahrávání souborů pomocí nastavení:

session.upload_progress.enabled=0

Toto opatření může omezit některé cesty ke zneužití souvisejících zranitelností.

Red Hat popisuje také možné úpravy paměťových limitů. Například nastavení memory_limit=-1 však odstraňuje vlastní paměťový limit PHP a bez dalších ochranných opatření může zvýšit riziko vyčerpání systémové paměti.

Takové změny proto nelze považovat za univerzální nebo bezrizikové řešení.

Žádné z těchto dočasných opatření není plnohodnotnou náhradou instalace bezpečnostních oprav.

Konkrétní postup je nutné přizpůsobit používané konfiguraci a řídit se doporučením příslušného dodavatele.

Třetí související zranitelnost PHP

Dne 23. října zveřejnil projekt PHP další bezpečnostní upozornění, tentokrát týkající se zranitelnosti CVE-2026-115560.

Chyba souvisí s funkcionalitou sledování průběhu nahrávání souborů v rámci PHP sessions.

Na rozdíl od původních dvou kritických zranitelností však vyžaduje velmi neobvyklou kombinaci konfigurace a chování aplikace.

Aplikace musí používat specifické nastavení serializace sessions, za běhu jej změnit a současně mít povolené sledování průběhu nahrávání souborů.

Vývojáři PHP proto uvedli, že praktické zneužití této chyby považují za nepravděpodobné.

Zranitelnost nebyla opravena v mimořádných aktualizacích vydaných 21. října. Projekt PHP oznámil, že její opravu zařadí do následujícího pravidelného vydání.

Jako dočasné opatření doporučil vypnout funkci:

session.upload_progress.enabled=0

Původní upozornění najdete v oficiálním archivu PHP.

Další podrobnosti obsahuje také oznámení v bezpečnostní konferenci oss-security.

Další kritické zranitelnosti: Node.js a GitLab

Vedle PHP2Shell jsme se ve speciálním vydání CCTV NEWS věnovali také dvěma dalším závažným bezpečnostním problémům.

Node.js: Chyba v dekodéru Brotli

Projekt Node.js vydal 21. října bezpečnostní aktualizace řešící několik zranitelností.

Mezi nejzávažnější patří CVE-2026-111497, která se týká dekodéru kompresního formátu Brotli.

Speciálně vytvořený komprimovaný vstup může způsobit zápis mimo vyhrazenou oblast operační paměti. Za určitých podmínek tak může dojít až ke vzdálenému spuštění kódu.

Podrobnosti včetně dotčených verzí a bezpečnostních aktualizací zveřejnil projekt Node.js v oficiálním bezpečnostním oznámení z 21. října 2026.

GitLab: Kritická zranitelnost s hodnocením CVSS 10.0

Kritickou bezpečnostní aktualizaci vydal také GitLab.

Zranitelnost CVE-2026-110264 souvisí s chybou typu integer overflow v komponentě pro zpracování regulárních výrazů.

Za určitých podmínek může umožnit vzdálené spuštění kódu bez předchozí autentizace.

Závažnost chyby byla ohodnocena maximálním skóre CVSS 10.0.

GitLab vydal opravené verze a provozovatelům dotčených instalací doporučil jejich bezodkladné nasazení.

Seznam všech opravených verzí, popis zranitelnosti i bezpečnostní doporučení jsou dostupné v oficiálním bezpečnostním oznámení GitLabu.

Co nám kauza PHP2Shell ukázala?

PHP2Shell není pouze příběhem dvou kritických bezpečnostních zranitelností.

Ukazuje také, jak obtížné může být zabezpečení široce používané technologie, na jejímž vývoji se podílí relativně malý tým specialistů.

Zatímco samotné objevení chyby může být otázkou jednoho bezpečnostního výzkumu, její oprava může vyžadovat měsíce práce, kompromisy mezi bezpečností a zpětnou kompatibilitou a koordinaci velkého množství dodavatelů.

Stejně důležitou roli přitom hraje způsob zveřejnění informací.

Kauza otevřela diskusi o bezpečnostních embargách, odpovědném zveřejňování zranitelností i financování bezpečnosti open-source projektů, na kterých závisí značná část digitální infrastruktury.

A právě proto jsme se rozhodli věnovat PHP2Shell celé speciální vydání CCTV NEWS.

Cílem nebylo pouze informovat o dalších kritických zranitelnostech, ale nabídnout jejich ucelené vysvětlení – od technických základů přes historii objevu až po skutečné dopady a doporučená bezpečnostní opatření.

PHP SPECIÁL: Kritické chyby, které otřásly základy internetu | CCTV NEWS Ep.351

Celou epizodu najdete na YouTube kanálu CZECH CYBER TV.

Načítání komentářů...

Zůstaňte v obraze

Přihlaste se k odběru našeho newsletteru a získejte nejnovější informace o kybernetické bezpečnosti přímo do vaší e-mailové schránky.

Vaše údaje jsou v bezpečí. Newsletter můžete kdykoliv odhlásit.