Vládní weby mimo provoz, mimořádné aktualizace a opravy i pro dávno nepodporované verze PHP. Zveřejnění zranitelností PHP2Shell a Node2Shell během října 2026 zasáhlo technologie, na kterých stojí velká část dnešního webu.
Na NoyraCloudu jsme v reakci zablokovali spouštění zranitelných verzí, spustili automatické nasazení opraveného prostředí a prověřili dopady na zákaznické aplikace. Vedle samotné aktualizace bylo potřeba vyhodnotit také případy, které vyžadovaly další kroky ze strany zákazníků.
Proč se vypínaly weby?
Důvodem byly dvě kritické chyby v PHP, označené CVE-2026-109618 a CVE-2026-109619. Mluví se o nich jako o PHP2Shell. Útočníkovi mohou umožnit spustit na serveru vlastní kód bez přihlášení. PHP přitom běží pod spoustou webů, e-shopů i interních nástrojů. Problém tak mohl zasáhnout různé aplikace bez ohledu na to, kdo je napsal.
ČT24 popsala preventivní odstávku webu Úřadu vlády i dalších českých služeb. Novinky informovaly také o vypínání webů státních institucí v Nizozemsku a Finsku. Vypnutý web v tomto případě neznamenal automaticky napadený web. Provozovatelé tím získávali prostor pro opravu, během kterého službu nevystavovali riziku.
Ve stejném týdnu vyšla také bezpečnostní aktualizace Node.js. Chyba CVE-2026-111497, známá jako Node2Shell, se týká zpracování komprimovaných dat Brotli. Pokud aplikace taková data od útočníka rozbaluje, může dojít k pádu procesu, úniku paměti nebo spuštění cizího kódu. Ne každá aplikace na Node.js tedy byla útoku vystavená stejným způsobem.
Proč měly chyby tak široký dosah
PHP podle W3Techs používá 69,3 % webů, u kterých je známý serverový programovací jazyk. Chyba přímo v tomto prostředí tak může současně zasáhnout firemní prezentace, e-shopy i rozsáhlé portály, přestože každý používá jinou aplikaci.
Node.js stejný průzkum rozpoznává jako webový server u 7,4 % webů se známým serverem. Obě čísla popisují rozšíření technologií, nikoli počet napadnutelných webů. Vycházejí také z různých skupin webů, proto je nelze sčítat.
Co jsme udělali na Noyře
Na PHP2Shell jsme reagovali 21. října v 18:00. Komunitní backport jsme nasadili 22. října v 5:00. V 7:00 jsme dotčené zákazníky kontaktovali s doporučením a v 10:00 dokončili analýzu dopadů a oznámili jim konkrétní další kroky.
Reakci celé platformy na Node2Shell jsme zahájili 23. října v 5:00. V 7:00 byla platforma přemigrovaná a bezpečnostní opatření nasazená. Dotčené zákazníky jsme kontaktovali v 11:00 téhož dne.
Aktualizaci PHP a Node.js tak řešila platforma společně s novým nasazením aplikací. Zákazníci nemuseli tyto kroky provádět ručně pro každý projekt zvlášť.
Součástí zásahu byla širší analýza dopadů. Zákazníky, u kterých byl potřeba další krok, jsme kontaktovali e-mailem s konkrétními instrukcemi. Nasazení opravy totiž uzavírá zranitelnou cestu, ale samo o sobě nevylučuje dřívější zneužití. Kontrola dopadů proto patřila ke stejné práci jako aktualizace prostředí.
Časová osa oprav a reakce NoyraCloudu
Oficiální opravy PHP vyšly pro verze 8.2 až 8.5. PHP tým připravil také úpravy zdrojového kódu pro nepodporované větve 7.4, 8.0 a 8.1. Na ně navázali správci balíčků a komunita, která sestavila opravené balíčky i pro některé starší systémy.
Takové přenesení opravy do starší verze se nazývá backport. Číslo PHP přitom může zůstat stejné a změnit se jen revize balíčku. U staršího prostředí proto nestačí podívat se pouze na údaj „PHP 7.4“. Důležité je, zda konkrétní balíček opravu obsahuje. Backport zároveň neobnovuje běžnou podporu staré verze.
Rozkliknutím události zobrazíte podrobnosti. Kroky NoyraCloudu jsou rozbalené.
PHP upozorňuje na chystanou opravu
Tým PHP oznamuje dvě kritické zranitelnosti a plánuje vydání opravy na následující den v 16:00.
Oznámení týmu PHP ↗Opravené Node.js na GitHubu
Postupně jsou publikována vydání 22.23.4, 24.22.1 a 26.12.1. Obsahují také opravu chyby v Brotli.
Vydání Node.js ↗PHP zveřejňuje technické podrobnosti
Vycházejí bezpečnostní advisories obou chyb PHP2Shell s popisem jejich dopadů.
Bezpečnostní advisory PHP ↗Vycházejí opravené verze PHP
PHP 8.2.35 je oznámeno v 16:00, PHP 8.3.36 také v 16:00. Oznámení PHP 8.5.12 následuje v 16:10 a PHP 8.4.27 v 16:32.
Oznámení jednotlivých vydání ↗Backporty pro PHP 7.4, 8.0 a 8.1
PHP tým poskytuje minimální zdrojové backporty i pro tyto nepodporované větve. Nejde o nové oficiální binární verze; zdrojový kód slouží k sestavení opravených balíčků.
Zdrojové backporty PHP ↗Komunitní PHP 7.4 pro Ubuntu 20.04
Projekt jsrobinson3 vydává balíčky PHP 7.4.33, revize 31, sestavené pro Ubuntu 20.04 ze zdrojového balíčku Ondřeje Surého s backportem opravy.
Komunitní vydání pro Ubuntu 20.04 ↗NoyraCloud reaguje na PHP2Shell
Zahajujeme reakci na zranitelnosti PHP a řešení jejich dopadu na platformu.
Další komunitní balíčky pro starší systémy
Projekt Niek/php7 publikuje vydání v7.4.33-1: backport PHP 7.4 pro Ubuntu 16.04 až 20.04 a Debian 9 a 10 na amd64. Také vychází ze zdrojů a balíčkování Ondřeje Surého.
Komunitní vydání Niek/php7 ↗NoyraCloud nasazuje komunitní backport PHP
Na platformě nasazujeme komunitní backport opravy PHP.
PHP: doporučení dotčeným zákazníkům
Kontaktujeme zákazníky ovlivněné zranitelnostmi PHP s doporučením dalšího postupu.
PHP: dokončená analýza a konkrétní kroky
Dokončujeme analýzu dopadů a dotčeným zákazníkům oznamujeme konkrétní kroky, které mají provést.
NoyraCloud zahajuje reakci na Node2Shell
Zahajujeme reakci celé platformy na zranitelnost Node.js.
Node.js: migrace a bezpečnostní opatření dokončeny
Platforma je přemigrovaná a bezpečnostní opatření nasazená.
Node.js: dotčení zákazníci kontaktováni
Kontaktujeme zákazníky ovlivněné zranitelností Node.js.
U vydání Node.js a komunitních balíčků jde o čas zveřejnění na GitHubu, u vydání PHP o odeslání oznámení dostupnosti. U zdrojových backportů je doložen den, nikoli hodina zveřejnění. Časy zásahů na platformě uvádí tým NoyraCloud.
Co zásah znamená pro zákazníky NoyraCloudu
O aktualizaci běhového prostředí se postarala Noyra. Další postup se týká zákazníků, kteří obdrželi e-mail s konkrétními instrukcemi. U ostatních zákazníků v rámci této reakce další krok nepožadujeme.
PHP2Shell a Node2Shell ukázaly, jak rychle se může běžný provoz aplikace změnit v bezpečnostní zásah. Na NoyraCloudu jsme proto řešili aktualizaci prostředí, nové nasazení i vyhodnocení dopadů společně na úrovni platformy.
