Stručně: WAF místo aktualizace u PHP2Shell nefunguje. Web application firewall, tedy filtr před webem, kontroluje požadavky a může blokovat známé vzorce útoků. Zranitelnost samotná je ale v interpretu PHP a zmizí teprve s aktualizací a restartem všech procesů PHP. WAF je užitečná dodatečná vrstva a most na několik dní, ne řešení.
Proč se tato otázka klade právě teď tak často
Mnoho provozovatelů si v týdnu PHP2Shell přečetlo zdánlivě dobrou zprávu: Cloudflare má podle vlastních údajů od 21. 10. 2026, 03:02 UTC, aktivní ochranná pravidla, i pro zákazníky v bezplatném tarifu. Kdo stejně stojí za Cloudflare nebo jinou WAF, se pochopitelně ptá, zda aktualizace ještě spěchá.
Upřímná odpověď zní ano. Cloudflare sám upozorňuje na omezení: Pravidla podle samotných dat požadavku nestačí, proto služba navíc kontroluje odpověď serveru. Cloudflare také pozoroval pozměněné vzorce útoků. A ochrana funguje jen pro provoz, který skutečně prochází přes Cloudflare. Podrobnosti o tomto poskytovateli popisuje Ochranná pravidla Cloudflare proti PHP2Shell. Zde jde o zásadní rozvahu nezávislou na poskytovateli.
Co WAF vidí a co mění aktualizace
WAF sedí před aplikací. Vidí každý požadavek, porovnává ho s pravidly a propouští ho, blokuje nebo zaznamenává. Neví, jak PHP požadavek interně zpracovává. Obě zranitelnosti PHP2Shell ale vznikají právě tam: CVE-2026-109618 při stavu nedostatku paměti, kdy jsou data požadavku inicializována jen částečně, CVE-2026-109619 vnitřním stavem, který po požadavku zůstane ve stejném workeru.
Aktualizace tento kód opravuje. Poté je příčina odstraněna bez ohledu na to, jak požadavek vypadá. Kdo chce pochopit, na kterém místě průběhu požadavku se to děje, najde základy v Životní cyklus požadavku v PHP.
WAF místo aktualizace: upřímné srovnání
| Kritérium | Web Application Firewall | Aktualizace PHP s restartem |
|---|---|---|
| Co se opravuje? | Nic, známé vzorce se zachycují | Příčina v interpretu PHP |
| Ochrana před novými variantami útoku | Jen pokud se pravidla včas upraví | Ano, zranitelnost už neexistuje |
| Je možné obejít? | Ano, například přímou dostupností původního serveru | Ne, pokud jsou všechny procesy PHP restartovány |
| Rychlost | Často aktivní okamžitě | Závisí na verzi, přístupu a servisním okně |
| Vedlejší účinky | Falešné poplachy, rozbité formuláře nebo nahrávání | Vzácně, u skoků verzí nutné testy kompatibility |
| Užitek při příští zranitelnosti | Vysoký, pokud je udržovaná | Žádný, každá zranitelnost potřebuje vlastní aktualizaci |
| Pomáhá u PHP 8.1 a starších? | Jako přechod | Jen přes backport nebo migraci |
Tabulka ukazuje, proč obě opatření patří k sobě. WAF je rychlá a široká, ale nikdy úplná. Aktualizace je úplná, ale jen pro konkrétní zranitelnost a ne vždy ihned možná.
V praxi se často přehlíží jeden bod: WAF mění chování webu. Přísná pravidla mohou blokovat legitimní objednávky, kontaktní formuláře nebo nahrávání souborů, aniž by si toho někdo hned všiml. Kdo WAF v krizi zapíná naostro, měl by proto nejdůležitější procesy webu jednou sám projít a protokoly prvních dní zkontrolovat na zablokované, ale oprávněné požadavky.
Jak oboje rozumně kombinovat
- Okamžitě: Ověřit, zda WAF existuje a zda jsou aktivní příslušná pravidla. U Cloudflare v placených tarifech podle poskytovatele nastavit Managed Ruleset na Block.
- Okamžitě: Zajistit, aby byl původní server dostupný jen přes WAF, například povolením ve firewallu jen pro její rozsahy adres. Jinak ochrana přijde nazmar.
- V nejbližším servisním okně: Aktualizovat PHP na 8.5.12, 8.4.27, 8.3.36 nebo 8.2.35 nebo nasadit potvrzený backport distribuce.
- Hned poté: Restartovat všechny workery a procesy PHP a zkontrolovat, že neběží žádný starý proces. Nové soubory samy nestačí; více v Po aktualizaci: restartovat PHP-FPM a všechny workery.
- Potom: Pravidla WAF ponechat, falešné poplachy vyhodnotit a výjimky nastavit cíleně, místo aby se pravidla plošně vypínala.
S vlastní WAF na bázi ModSecurity a OWASP Core Rule Set lze dosáhnout podobného; základy popisuje Nasazení ModSecurity a OWASP Core Rule Set. Zvláštní formou je odborníky navrhované filtrování požadavků na nahrávání mimo skutečné cesty pro nahrávání. Je neoficiální, může rozbít formuláře a do provozu patří jen po testu.
WAF ani aktualizace neodstraní škodlivý software, který byl vložen dříve. Po záplatě zkontrolujte, zda se od 17. 10. 2026 neobjevily nápadnosti.
Kdy WAF nepotřebujete a kdy nepotřebujete dodavatele
WAF není povinná pro každý web. Malý firemní web u poskytovatele hostingu, který PHP včas záplatuje a potvrzuje to, je bez vlastní WAF často dostatečně chráněn, pokud jsou CMS a pluginy aktuální. Ani kdo dokáže svůj server aktualizovat sám v krátké době, WAF jako most nepotřebuje.
Smysl dává u e-shopů, portálů a aplikací s mnoha formuláři, u starších systémů, které nelze hned aktualizovat, a tam, kde se má centrálně chránit více webů. Dodavatele k tomu potřebujete jen tehdy, pokud nasazení, testy a průběžnou péči interně nepokryjete.
Jak konkrétně pomáhá PHP SOS?
- Kontrolujeme, zda vaše WAF skutečně stojí před všemi přístupy a zda je původní server dostupný přímo.
- Zřizujeme pravidla nebo je upravujeme a testujeme formuláře, nahrávání a rozhraní na vedlejší účinky.
- Nasazujeme aktualizaci PHP, restartujeme všechny procesy a dokumentujeme stav.
- Kde aktualizace trvá, překlenujeme WAF a virtuálním záplatováním a pevným termínem pro skutečnou záplatu.
Závěr
Otázka „WAF, nebo aktualizace“ je položena špatně. Aktualizace zranitelnost uzavře, WAF získá čas a zachytí mnoho dalšího. Kdo se spoléhá jen na WAF, spoléhá na pravidla, která útočníci mohou obejít. Kdo jen záplatuje, stojí při příští zranitelnosti zase bez mostu.
Časté dotazy
Stačí WAF jako ochrana proti PHP2Shell?
Ne. WAF kontroluje provoz a může blokovat známé vzorce útoků. Zranitelnost samotná je v interpretu PHP a zůstává, dokud se PHP neaktualizuje a nerestartuje. Cloudflare výslovně zdůrazňuje, že jeho pravidla aktualizaci nenahrazují.
Jsem za Cloudflare automaticky chráněn?
Jen pro provoz, který skutečně prochází přes Cloudflare. Pokud je původní server dostupný přímo z internetu, ochrana se obchází. U placených tarifů byste podle Cloudflare měli ověřit, že Managed Ruleset je nastaven na Block.
Vyplatí se WAF i po aktualizaci?
Často ano. WAF může zachytit hromadné skeny, známé útoky na pluginy a zneužití přihlašovacích stránek a při příští zranitelnosti získá čas. Potřebuje ale péči a testy, jinak falešné poplachy ruší provoz.
Co je virtuální záplatování?
Rozumí se tím dočasné odstínění zranitelnosti pravidly před aplikací místo změny kódu. Je to most do skutečné aktualizace, ne náhrada.