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č se zranitelnost PHP stala známou před záplatou

Podle zpráv se podrobnosti o PHP2Shell staly veřejnými před koncem embarga. Vysvětlujeme průběh a co znamená pro vaše plánování záplat.

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

Stručně: Zranitelnost PHP se stala známou předčasně, protože se podle několika zpráv podrobnosti staly veřejnými před koncem dohodnutého embarga, mimo jiné prostřednictvím příspěvku na fóru 20. října 2026. php.net poté oznámil bezpečnostní vydání na 21. října ve 14:00 UTC. Provozovatelům tak zbylo jen velmi málo času na přípravu. Poučení: Proces záplatování musí fungovat i bez předchozího varování.

Výchozí bod: oznámení s předstihem několika hodin

Správci se obvykle o kritické zranitelnosti dozvědí ve chvíli, kdy je k dispozici i aktualizace. U PHP2Shell tomu bylo jinak. Dne 20. října 2026 zveřejnil php.net předběžné oznámení: kritické bezpečnostní vydání následující den ve 14:00 UTC, tedy v 16:00 německého času, pro dvě zranitelnosti s CVSS v4.0 9.2.

Neobvyklá byla jedna věta v oznámení. Tým PHP si vyhradil právo zveřejnit vydání dříve, pokud se podrobnosti některé ze zranitelností stanou veřejnými nebo se objeví náznaky aktivního zneužívání. Podle několika zpráv, mimo jiné od SOC Prime a BleepingComputer, bylo právě to pozadím: informace už před plánovaným termínem kolovaly.

Jak běžně probíhá koordinované zveřejnění

Za velkými bezpečnostními aktualizacemi většinou stojí postup, který odborníci nazývají „coordinated disclosure“, tedy koordinované zveřejnění. Zjednodušeně probíhá takto:

  1. Nahlášení: Výzkumníci najdou zranitelnost a důvěrně ji nahlásí projektu.
  2. Analýza a oprava: Projekt nahlášení ověří, vyvine opravu a přidělí čísla CVE.
  3. Předběžná informace: Vybraní partneři, například distribuce Linuxu, dostanou opravu pod embargem, aby měli své balíčky připravené ke stanovenému dni.
  4. Zveřejnění: V pevně stanovený termín vyjde současně záplata, bezpečnostní oznámení i balíčky.

Embargo je dohoda zadržet podrobnosti do tohoto termínu. Má zabránit tomu, aby útočníci získali náskok, dokud neexistuje aktualizace. Jak projekt PHP s bezpečnostními oznámeními obecně nakládá, vysvětluje článek o bezpečnostním procesu PHP.

Jak se zranitelnost PHP stala známou předčasně: 20. října

Podle shodných mediálních zpráv se čísla CVE objevila 20. října ve veřejném příspěvku na fóru, spolu s tvrzením, že obě zranitelnosti jsou zařazeny s nejvyšším hodnocením 10.0. Příspěvek byl podle zpráv později smazán. Tým PHP zranitelnosti potvrdil, ale uvedl hodnocení 9.2 a termín zveřejnění 21. října.

V následujících hodinách podle zpráv kolovaly snímky obrazovky a video, které měly ukazovat útok. Bezpečnostní firma watchTowr uvedla, že CVE-2026-109618 zreprodukovala. Cloudflare měl vlastní ochranná pravidla podle svých údajů aktivní už od časného rána 21. října.

Nezávisle na úniku uvádějí média s odvoláním na Amazon první pozorovaný pokus o útok 17. října. Zda souvisí s pozdějším únikem, veřejně doloženo není. Úplný sled dat ukazuje časová osa PHP2Shell.

Co předčasné zveřejnění mění pro provozovatele

Pro firmy měl únik tři praktické důsledky:

  • Méně času na přípravu: Mezi předběžným oznámením a záplatou uběhl zhruba jeden den. Kdo reagoval až po zveřejnění, neměl čas dohodnout servisní okna.
  • Nejasná informační situace: V prvních hodinách stály vedle oficiálních údajů fámy. Nesprávné hodnocení 10.0 se drželo ještě několik dní.
  • Dřívější start pro útočníky: Kdo zná podrobnosti brzy, může brzy hledat. Automatizované skeny zranitelných serverů podle zkušeností začínají rychle, jak popisuje článek o hromadných skenech nezáplatovaného PHP.

Současně předběžné oznámení ukázalo, že postup přes únik fungoval: Aktualizace pro všechny podporované větve vyšly v oznámeném termínu, distribuce zčásti dodaly backporty téhož dne.

Proč projekt prostě nezveřejní vše okamžitě

Lze se ptát, proč tým PHP po úniku nevydal vše okamžitě. Odpověď leží ve zvažování, před kterým stojí každý projekt v takové situaci. Vydání bez hotových balíčků distribucí pomůže jen těm, kdo si PHP sestavují sami ze zdrojového kódu. Velká většina serverů ale získává PHP přes Debian, Ubuntu, Red Hat, hostingové firmy nebo image kontejnerů. Příliš brzký termín by tedy zveřejnil podrobnosti, aniž by většina provozovatelů mohla cokoli nasadit.

Předběžné oznámení s pevným termínem a výhradou případně zveřejnit dříve bylo střední cestou. Provozovatelé se mohli připravit, distribuce dokončit své balíčky. Pro vás jako provozovatele z toho plyne: Takové předběžné oznámení je signálem hned naplánovat personál a servisní okna, ne až v den záplaty.

Tip

Odebírejte bezpečnostní oznámení php.net a své distribuce přímo, například přes RSS nebo e-mailovou konferenci. Předběžné oznámení je užitečné jen tehdy, když ho ve firmě někdo čte.

Co si vzít pro svůj proces záplatování

Zda se zranitelnost stane známou plánovaně, nebo předčasně, nemáte ve své moci. Jak rychle poté dokážete jednat, ano. Tyto body se u PHP2Shell ukázaly jako rozhodující:

Stavební kámen Otázka, na kterou má být odpověď předem
Inventář Které servery a weby používají PHP, v jaké verzi a provozním režimu?
Odpovědnost Kdo záplatuje: vlastní IT, dodavatel, nebo poskytovatel hostingu? Kdo rozhoduje o odstavení?
Cesta aktualizace Pochází PHP z distribuce, z repozitáře třetí strany, nebo z image kontejneru?
Restart Jak se spolehlivě restartují všechny procesy PHP?
Doklad Jak se doloží stav záplat, když číslo verze zůstává stejné?
Nouzový provoz Existuje nouzová stránka pro případ, že server musí dočasně odpojit od sítě?

Kdo tyto otázky už zodpověděl, potřebuje při dalším předběžném oznámení už jen termín. Jak takový postup vypadá dlouhodobě, popisuje článek o procesu správy záplat.

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

  • Rychlý soupis: Zaznamenáme všechny systémy s PHP včetně verze, provozního režimu a zdroje balíčků.
  • Záplata ke stanovenému dni: Nasadíme aktualizace, restartujeme všechny procesy PHP a doložíme stav pro každý server.
  • Přechod při zpoždění: Kde aktualizace není možná hned, nastavíme přechodná opatření z php.net a s vámi vyjasníme dočasné odstavení.
  • Příprava na příště: Spolu s vámi stanovíme odpovědnosti, cesty hlášení a nouzový provoz.

Podrobnosti o postupu najdete u služby záplatování PHP.

Závěr

Předčasné zveřejnění PHP2Shell nebylo selháním provozovatelů, ale zkouškou jejich připravenosti. Embargo se může prolomit. Proces, který již objasňuje inventář, odpovědnost, cestu aktualizace a doklad, obstojí i tehdy.

Časté dotazy

Co je embargo u bezpečnostních zranitelností?

Embargo je dohoda zveřejnit podrobnosti zranitelnosti až v pevně stanovený okamžik, většinou spolu se záplatou. Do té doby znají podrobnosti jen objevitelé, výrobce a vybraní partneři, aby bylo možné připravit aktualizace.

Byla záplata PHP kvůli úniku zveřejněna dříve?

php.net oznámil bezpečnostní vydání 20. října na 21. října ve 14:00 UTC a vyhradil si právo zveřejnit je dříve, pokud se podrobnosti stanou veřejnými nebo se objeví útoky. Podle několika zpráv bylo oznámení učiněno proto, že podrobnosti kolovaly už před koncem embarga.

Je předčasně známá zranitelnost nebezpečnější?

Zkracuje čas, který mají provozovatelé na přípravu, a dává útočníkům dřívější start. Podle mediálních zpráv byl první pokus o útok pozorován již 17. října, tedy před záplatami.

Co může firma proti takovým překvapením dělat?

Nemůže zabránit tomu, aby se zranitelnosti stávaly známými dříve. Může však být připravena: se seznamem všech systémů s PHP, pevnými odpovědnostmi, otestovanými cestami aktualizací a nouzovou stránkou pro případ, že server musí dočasně odpojit od sítě.

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