Aktuálna situácia: PHP2Shell. Dve kritické zraniteľnosti PHP (CVSS 9.2) umožňujú spustenie škodlivého kódu bez prihlásenia. Záplaty od 21. 10. 2026.Čo treba urobiť teraz →

PHP u poskytovateľov cloudu a PaaS: kto záplatuje runtime?

Pri platformových službách závisí záplata PHP od modelu prevádzky. Rozhodujúci je runtime, ktorý skutočne web poskytuje, nie lokálne prostredie ani kód aplikácie.

Stav 5 min čítaniaHosting a distribúcie

Stručne: U poskytovateľov cloudu a PaaS záplatu automaticky nerobí poskytovateľ. Ak spravuje runtime PHP, aktualizuje ho, často však až s ďalším nasadením. Ak obrazy alebo zostavenia vytvárate sami alebo platformu prevádzkujete sami, musíte zostaviť nanovo a nasadiť. Rozhodujúci je vždy runtime, ktorý váš web práve poskytuje.

Aktualizácia PHP pri PaaS: komu patrí runtime?

Platformové služby, v odbornom žargóne PaaS (Platform as a Service), preberajú od firiem prevádzku serverov. Nahráte kód, platforma ho zostaví a prevádzkuje. Pri PHP2Shell z toho vzniká typická neistota: kto vlastne má PHP aktualizovať?

Vercel to vo svojom bulletine k PHP2Shell vystihuje: aktualizácia lokálneho vývojového prostredia, kódu aplikácie alebo pluginov nestačí. Rozhodujúci je runtime PHP nasadenia, ktoré skutočne odpovedá na požiadavky. Či je tento runtime zaplátaný, závisí od toho, kto ho poskytuje a kedy bol naposledy zostavený.

Štyri modely prevádzky v porovnaní

Označenia poskytovateľov sa líšia. Pre otázku záplat sa väčšina ponúk dá priradiť k jednému z týchto modelov:

Model Kto aktualizuje PHP? Čo musíte urobiť
Runtime spravovaný poskytovateľom poskytovateľ Vyžiadať potvrdenie, prípadne znovu nasadiť, aby sa nový runtime uplatnil
Runtime založený na zostavení (buildpack) poskytovateľ pripraví novú verziu, váš build ju zafixuje Spustiť nové zostavenie, skontrolovať verziu v protokole zostavenia
Vlastný obraz kontajnera vy Obraz s opraveným PHP zostaviť nanovo a nasadiť
Vlastnoručne prevádzkovaná platforma vy, pre platformu aj aplikácie Zaplátať platformu a každú aplikáciu zvlášť

Mnohé firmy používajú viac modelov naraz, napríklad spravovaný runtime pre web a vlastné kontajnery pre interné nástroje. Každá aplikácia preto potrebuje vlastnú odpoveď.

Pasca sa skrýva v slove „spravovaný“. Aj keď poskytovateľ runtime udržiava, už nasadená aplikácia často beží ďalej so stavom, s ktorým bola zostavená. Nová verzia sa potom uplatní až pri ďalšom zostavení alebo nasadení. Niektoré platformy navyše držia staršie nasadenia alebo prostredia náhľadov dosiahnuteľné na vlastných adresách. Nepýtajte sa preto len, či poskytovateľ zaplátal, ale aj odkedy vaše bežiace inštancie záplatu používajú a čo sa deje so starými nasadeniami.

Čo Vercel a Coolify hovoria k PHP2Shell

Dvaja poskytovatelia zverejnili svoje pokyny. Sú poučné, pretože jasne pomenúvajú hranice vlastných ochranných opatrení.

Vercel podľa vlastného bulletinu pred zverejnením aktivoval ochranné pravidlá vo svojom Web Application Firewall (WAF), filtri webových požiadaviek. Platia automaticky pre funkcie PHP na Verceli a pre požiadavky, ktoré Vercel presmerúva na externé servery PHP. Zároveň Vercel žiada, aby sa runtime PHP okamžite aktualizoval na opravenú verziu. Nasadenia v kontajneroch sa majú zostaviť nanovo s aktualizovaným základným obrazom PHP a znovu nasadiť. Požiadavky, ktoré obchádzajú Vercel a idú priamo na externý server PHP, WAF nepokrýva.

Coolify, platforma, ktorú možno prevádzkovať vlastnými silami, bol podľa vlastného advisory sám dotknutý: všetky vetvy verzie 4. Ako prvé opravené stavy uvádza Coolify 4.0.1, 4.1.3, 4.2.1, 4.3.24 a 4.4.7 a odporúča 4.4.7. Dôležitý je dodatok: aktualizácia Coolify neaktualizuje aplikácie PHP, ktoré cez neho prevádzkujete. Ich runtime alebo obrazy musíte aktualizovať osobitne a zostaviť nanovo alebo nasadiť. Podľa Coolify to platí aj pre zákazníkov Coolify Cloud a aj za Cloudflare, pretože pravidlá Cloudflare kontrolujú len prevádzku, ktorá ide cez Cloudflare.

Čo pravidlá Cloudflare zvládnu, zaraďuje článok Ochranné pravidlá Cloudflare proti PHP2Shell.

Ako skontrolovať runtime, ktorý sa poskytuje

Nasledujúce kroky fungujú bez ohľadu na poskytovateľa. Smerujú k dokladu, nie k pocitu.

  1. Vypísať všetky prostredia: produkcia, staging, náhľadové nasadenia a služby na pozadí, ako sú queue workery. Každé prostredie môže mať iný runtime.
  2. Prečítať verziu runtime pre každé prostredie: v konzole poskytovateľa, v protokole zostavenia alebo v konfiguračnom súbore projektu.
  3. Skontrolovať dátum posledného nasadenia: Ak je pred 21. 10. 2026, beží s vysokou pravdepodobnosťou ešte starý runtime, pokiaľ poskytovateľ výslovne nepotvrdí niečo iné.
  4. Pozrieť sa do bežiacej inštancie: Ak platforma ponúka konzolu, nasledujúci príkaz ukáže verziu inštancie.
  5. Zahrnúť externé servery PHP: Servery, na ktoré platforma presmerúva požiadavky, potrebujú vlastnú aktualizáciu a nemali by byť priamo dosiahnuteľné z internetu.
# V konzole bežiacej inštancie (ak ju poskytovateľ ponúka)
php -v
php -r 'echo PHP_VERSION, " ", PHP_SAPI, PHP_EOL;'

Očakáva sa 8.5.12, 8.4.27, 8.3.36 alebo 8.2.35, prípadne backport potvrdený poskytovateľom. Majte na pamäti, že príkazový riadok inštancie nepoužíva vždy ten istý runtime ako webový proces. Na kontrolu nevytvárajte verejne dostupný súbor phpinfo. Ako správne čítať číslo verzie a stav backportov, opisuje Kontrola verzie PHP a stavu záplat.

Dôležité

Nové nasadenie neodstráni škodlivý softvér, ktorý sa predtým dostal do trvalých úložísk, ako sú zväzky s nahrávaním alebo databáza. Tieto oblasti skontrolujte osobitne.

Zodpovednosť zafixujte písomne

PHP2Shell ukazuje, aká nejasná je často hranica medzi platformou a zákazníkom. Pre každú aplikáciu si určte, kto poskytuje runtime, kto pri bezpečnostných hláseniach zostavuje nanovo a ako poskytovateľ oznamuje záplaty. Patrí sem aj to, kto má prístup ku konzole platformy, keď je naponáhlo, a kto smie mimo pracovného času spustiť nové zostavenie.

Pre vlastnú dokumentáciu stačí krátka tabuľka pre každú aplikáciu: platforma, model prevádzky, vetva PHP, dátum posledného zostavenia, zodpovedná osoba. Kto má tento zoznam po ruke pri ďalšom hlásení, ušetrí dni, ktoré mnohé tímy po 21. októbri strávili hľadaním. Pri aplikáciách v kontajneroch k tomu patrí, kto udržiava základný obraz; súvislosti vysvetľuje PHP v kontajneroch.

Pre spravované servery bez charakteru PaaS platia podobné otázky, ktoré sme zhrnuli v časti Spravovaný server: objasnenie zodpovednosti.

Ako konkrétne pomáha PHP SOS?

  • Priradiť: Každú vašu aplikáciu priradíme k modelu prevádzky a objasníme, kto poskytuje runtime PHP.
  • Doložiť: Preveríme runtime, dátum zostavenia a nasadenie pre každé prostredie a výsledok zdokumentujeme.
  • Zostaviť nanovo a nasadiť: Prostredníctvom služby záplatovania PHP aktualizujeme obrazy a zostavenia a kontrolovane ich nasadíme.
  • Uzavrieť medzery: Preveríme, či sú externé servery PHP priamo dosiahnuteľné, a obmedzíme prístup.

Časté otázky

Záplatuje môj poskytovateľ PaaS PHP automaticky?

Záleží od modelu. Ak runtime spravuje poskytovateľ, aktualizuje ho, často však až pre nové nasadenia. Ak obrazy alebo zostavenia vytvárate sami, musíte ich zostaviť nanovo a znovu nasadiť. Nechajte si stav pre svoju aplikáciu potvrdiť.

Stačí WAF môjho poskytovateľa platformy proti PHP2Shell?

Nie. Vercel a Coolify výslovne píšu, že ochranné pravidlá nenahrádzajú aktualizáciu runtime PHP. Pôsobia navyše len na prevádzku, ktorá prechádza cez platformu.

Musím po záplate nasadiť znovu?

Často áno. Vercel pri nasadeniach v kontajneroch uvádza nové zostavenie s aktualizovaným základným obrazom PHP a nové nasadenie. Pri platformách založených na zostavení sa runtime zafixuje pri zostavení; záplatu prevezme až nové zostavenie.

Používam Coolify. Stačí aktualizácia Coolify?

Nie. Podľa advisory Coolify aktualizácia mení len samotný Coolify. Runtime PHP alebo obrazy kontajnerov vašich aplikácií musíte aktualizovať osobitne a zostaviť nanovo alebo znovu nasadiť.

Zdroje

Okamžitý kontakt

Každá hodina sa počíta. Napíšte nám hneď.

Stručne opíšte systém, verziu PHP a svoje pozorovanie. Ozveme sa, vyjasníme situáciu a budeme pracovať na diaľku, kým nebude incident uzavretý a zdokumentovaný.

Okamžitá pomoc