- PHP zverejnilo 21. októbra 2026 dve kritické zraniteľnosti (CVE-2026-109618 a CVE-2026-109619, závažnosť 9,2 z 10). Útočník cez ne spustí na serveri vlastný kód bez prihlásenia a skôr, než sa vôbec spustí váš web.
- Týka sa to každého webu na PHP, teda WordPressu, e-shopov aj aplikácií na mieru. Najviac ohrozené sú servery s Apache mod_php, zraniteľné je aj PHP-FPM.
- Opravené verzie: 8.5.12, 8.4.27, 8.3.36, 8.2.35. Pre staré vetvy 5.6, 7.x, 8.0 a 8.1 vyšli záplaty cez distribúcie, na zdieľanom hostingu ich musí nasadiť poskytovateľ.
- Potvrdený prienik zatiaľ nie je, Cloudflare už hlási prvé pokusy. Úloha pre dnešok: zistiť verziu PHP svojho webu a nechať si potvrdiť opravu.
Tento článok píšeme v deň zverejnenia, pretože ide o najvážnejšiu chybu v PHP za posledné roky a týka sa prakticky každého firemného webu na Slovensku. Nie je to chyba WordPressu ani vášho e-shopu, ale jazyka, v ktorom bežia. Preto nepomôže aktualizovať web, treba aktualizovať server. Nižšie je bez technického balastu to, čo má majiteľ firmy vedieť a čo si má nechať potvrdiť od hostingu alebo správcu.
Čo sa stalo
Bezpečnostný tím PHP zverejnil 21. októbra 2026 dve chyby, ktoré spolu umožňujú vzdialené spustenie kódu. Prvá (CVE-2026-109618) vznikne, keď serveru dôjde pamäť presne vo chvíli, keď PHP ešte len pripravuje spracovanie požiadavky. PHP vtedy spracovanie preruší, ale pri upratovaní pracuje s neplatnými dátami. Druhá (CVE-2026-109619) spôsobí, že vo workeri ostane stav z predchádzajúcej požiadavky a ďalšia požiadavka ho použije skôr, než sa správne vynuluje. Útočník to vie vyvolať špeciálne poskladanou požiadavkou, napríklad formulárom s obrovským počtom hlavičiek, a nepotrebuje žiadne heslo ani účet. Kód sa spustí ešte predtým, než sa dostane k slovu samotná aplikácia.
Obe chyby majú hodnotenie 9,2 z 10, teda kritické. Nahlásili ich bezpečnostní výskumníci, opravu pripravil tím PHP a zverejnil ju spolu s chybami.
Koho sa to týka
- Každého webu, ktorý beží na PHP. WordPress, WooCommerce, PrestaShop, Magento, Drupal, Joomla, Laravel, Symfony, Nette aj aplikácie na mieru. Podľa odhadu CERT-EU ide o vetvy PHP 5, 7 aj 8.
- Najviac servery s Apache mod_php. Pri tomto nastavení tím PHP potvrdil plný útok cez obyčajnú HTTP požiadavku s predvolenými limitmi. Je to typická konfigurácia starších zdieľaných hostingov a starších vlastných serverov.
- PHP-FPM, FrankenPHP a LiteSpeed sú zraniteľné tiež, pri FPM bol útok cez session potvrdený. To je dnes najčastejšie nastavenie moderných hostingov.
- Staré verzie PHP sú v najväčšom ohrození. Vetvy 5.6, 7.x, 8.0 a 8.1 PHP oficiálne nepodporuje. Pre 7.4, 8.0 a 8.1 vydalo len minimálne zdrojové záplaty a je na distribúciách a hostingoch, či ich zabudujú. Pre Debian a Ubuntu vyšli 21. októbra opravené balíky aj pre 5.6 a 7.x.
Útočí sa už?
K 21. októbru 2026 nie je potvrdený žiadny reálny prienik a chyby nie sú v katalógu aktívne zneužívaných zraniteľností CISA. Cloudflare však hlási prvé pokusy o zneužitie a pre weby za svojou sieťou nasadil núdzové pravidlá. Na internete koluje video nástroja PHP2Shell, ktorý spúšťa kód na aktuálnych verziách WordPressu, Magenta, Joomly, Drupalu, Laravelu či Symfony. Verejne šírený exploit zatiaľ nefunguje, bezpečnostné firmy ale potvrdili, že chyby sú reálne. Pri kritickej chybe tohto typu býva funkčný útok otázkou dní.
Čo má firma urobiť ešte dnes
- Zistite, kde web beží a akú má verziu PHP. V administrácii hostingu je verzia pri doméne. Pri vlastnom serveri sa spýtajte správcu. Ak neviete ani jedno, napíšte tomu, kto vám web robil.
- Overte presné číslo verzie, nie len „8.2". Opravené sú až verzie v tabuľke nižšie. Čokoľvek nižšie je zraniteľné.
- Na zdieľanom hostingu aktualizáciu robí poskytovateľ. Vy to neovplyvníte, ale môžete si to nechať písomne potvrdiť. Jedna veta podpore: „Potvrďte prosím, že PHP na mojej doméne má opravu CVE-2026-109618 a CVE-2026-109619 z 21. 10. 2026."
- Starý web na PHP 5.6 alebo 7.x riešte prednostne. Ak hosting staré verzie nepatchuje, web je otvorený a jediná skutočná odpoveď je prechod na podporovanú verziu. Ako na to, píšeme v článku PHP 7.4 vs. 8.x: prečo migrovať.
- Keď sa nedá aktualizovať hneď, zmiernite riziko. Obmedzte veľkosť požiadaviek a uploadov na webovom serveri aj v PHP (post_max_size, upload_max_filesize), vypnite session.upload_progress, pri PHP 8.5 vypnite fatal_error_backtraces, zablokujte multipart požiadavky, ak web nepoužíva odosielanie súborov, a nasaďte WAF. Sú to zmiernenia, nie oprava.
- Po aktualizácii skontrolujte, či sa nič nestalo. Podozrivé sú PHP procesy, ktoré spúšťajú shell alebo sťahujú súbory, neznáme súbory v koreňovom adresári, nové naplánované úlohy a nové účty. Pri podozrení server izolovať a zachovať logy.
| Vetva PHP | Opravená verzia | Poznámka |
|---|---|---|
| 8.5 | 8.5.12 | navyše vypnúť fatal_error_backtraces, ak sa nedá aktualizovať |
| 8.4 | 8.4.27 | |
| 8.3 | 8.3.36 | |
| 8.2 | 8.2.35 | |
| 8.1, 8.0, 7.4 | minimálne záplaty zdrojového kódu od PHP | opravené balíky od distribúcií, na hostingu si nechať potvrdiť |
| 7.0 až 7.3, 5.6 | bez oficiálnej opravy | opravené balíky pre Debian a Ubuntu z 21. 10. 2026, inak nutná migrácia |
Ako sme reagovali my
Naše vlastné servery, na ktorých beží hosting pre klientov, FaStorm aj príjem dokladov dokl.sk, sme zaplátali do dvoch hodín od zverejnenia, vrátane jedného staršieho webu na PHP 5.6, ktorý dostal opravený balík od distribúcie. Potom sme prešli weby klientov na cudzích hostingoch: spravovaný virtuálny server jedného z hostingov mal opravené balíky a reštartované PHP ešte v ten deň, čo sme si overili priamo na serveri. Klientom na zdieľaných hostingoch sme poslali odporúčanie, aby si opravu nechali potvrdiť od poskytovateľa, lebo tam verziu nevidíme ani my.
Celé to trvalo jedno popoludnie, ale len preto, že niekto sledoval oznámenia PHP v momente, keď vyšli. Presne na tom stojí bezpečnosť firemného webu: nie na jednorazovom zabezpečení, ale na tom, že sa niekto dozvie o chybe v deň zverejnenia a vie, kde všade treba zasiahnuť. Čo všetko má bezpečný web mať, sme spísali v článku Bezpečnosť firemného webu, a koľko stojí, keď to za vás niekto stráži, v článku Koľko stojí údržba a servis webu. Takúto službu ponúkame ako údržbu webu od 30 € mesačne, no dnes je dôležitejšie, aby ste si opravu overili, než od koho ju máte.
Neviete, na akej verzii váš web beží, alebo vám hosting neodpovedá? Pošlite nám adresu webu, pozrieme sa, čo sa dá zistiť zvonku, a povieme vám, koho a na čo sa pýtať.
Časté otázky
- Týka sa to aj môjho webu na WordPresse alebo e-shopu?
- Áno, ak beží na PHP, a to je drvivá väčšina webov. Chyba nie je vo WordPresse ani v e-shope, ale v samotnom PHP, ktoré ich spúšťa. Zraniteľný je server, nie aplikácia, preto nepomôže aktualizovať WordPress, treba aktualizovať PHP. Na zdieľanom hostingu to robí poskytovateľ, pri vlastnom serveri správca servera.
- Ako zistím, akú verziu PHP môj web používa?
- V administrácii hostingu býva výber verzie PHP pri doméne, tam vidíte aj presné číslo. Pri vlastnom serveri sa spýtajte správcu. Dôležité je presné číslo za druhou bodkou: opravené sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35 alebo novšie. Samotné „8.2" nestačí. Ak hosting ukazuje len hlavnú verziu, napíšte podpore a nechajte si potvrdiť, že nasadili opravu z 21. októbra 2026.
- Čo keď má web ešte PHP 7.4 alebo 5.6?
- Tieto vetvy PHP oficiálne nepodporuje, pre 7.4, 8.0 a 8.1 vydalo len minimálne opravy zdrojového kódu. Distribúcie a správcovia balíkov ich zabudovali do svojich balíkov, pre Debian a Ubuntu vyšli 21. októbra opravené balíky aj pre 5.6 a 7.x. Na vlastnom serveri sa teda dá zaplátať aj starý web. Na zdieľanom hostingu si to nechajte potvrdiť. Ak hosting staré verzie nepatchuje, je to najrizikovejšia skupina webov a dôvod na migráciu, o ktorej píšeme v článku o prechode z PHP 7.4.
- Útočia už hackeri?
- K 21. októbru 2026 nie je potvrdený žiadny reálny prienik. Cloudflare hlási prvé pokusy o zneužitie a nasadil núdzové pravidlá, na internete koluje video nástroja PHP2Shell, ktorý spúšťa kód na aktuálnych verziách WordPressu, Magenta, Drupalu či Laravelu. Verejne šírený exploit sa zatiaľ neukázal ako funkčný. Pri kritickej chybe tohto typu je však otázka času, nie či, preto treba aktualizovať hneď.
- Čo robiť, keď sa aktualizácia nedá urobiť hneď?
- Dočasne znížte veľkosť požiadaviek a uploadov na serveri, vypnite sledovanie priebehu uploadu v PHP (session.upload_progress), pri PHP 8.5 vypnite fatal_error_backtraces, a ak web nepoužíva odosielanie súborov, zablokujte multipart požiadavky na webovom serveri alebo vo firewalle. Pomôže aj WAF, napríklad Cloudflare. Sú to zmiernenia, nie oprava. Jediným úplným riešením je opravená verzia PHP.
Záver
Dve chyby v PHP z 21. októbra 2026 dovoľujú spustiť kód na serveri bez hesla a pred spustením webu. Oprava existuje a je jediným úplným riešením: 8.5.12, 8.4.27, 8.3.36, 8.2.35 alebo opravený balík distribúcie pre staršie vetvy. Majiteľ firmy nemusí vedieť, čo je mod_php, musí len dnes zistiť verziu PHP svojho webu a nechať si potvrdiť, že je opravená. Článok budeme aktualizovať, ak sa objavia potvrdené útoky alebo nové záplaty.