Kritická zraniteľnosť PHP (php2shell): čo musí urobiť každý e-shop a web

Kritická zraniteľnosť PHP php2shell – ako ochrániť web a e-shop

Ak máte e-shop na PrestaShope alebo web na WordPresse, beží na PHP. A práve v PHP boli 21. októbra 2026 opravené dve kritické chyby s prezývkou php2shell. Táto zraniteľnosť PHP môže útočníkovi umožniť spustiť vlastný kód na serveri bez akéhokoľvek prihlásenia. Na Slovensku pred ňou varuje aj Národné centrum kybernetickej bezpečnosti SK-CERT. Dôležité je jedno: aktualizácia PrestaShopu, WordPressu ani modulov ju nevyrieši. V tomto článku vysvetlím zrozumiteľne, čo sa stalo, prečo sa vás to týka a čo treba urobiť.

Čo je PHP a prečo sa vás to týka

PHP je programovací jazyk, v ktorom je napísaný PrestaShop, WordPress, WooCommerce aj väčšina ďalších redakčných systémov. Aby web fungoval, musí na serveri bežať program, ktorý PHP kód vykonáva, takzvaný PHP interpreter alebo runtime. Ten nie je súčasťou vášho e-shopu. Inštaluje ho a spravuje hosting alebo správca servera.

Predstavte si to ako dom a základy. PrestaShop alebo WordPress je dom, PHP sú základy. Tentoraz je chyba v základoch. Môžete vymeniť okná a zamknúť dvere, teda aktualizovať e-shop a moduly, no pokiaľ sa neopravia základy, problém trvá.

Čo presne bolo objavené

Ide o dve zraniteľnosti v správe pamäte samotného PHP:

  • CVE-2026-109618 – keď PHP pri spracovaní požiadavky vyčerpá pamäť, môžu ostať niektoré interné údaje rozpracované. Pri následnom upratovaní ich PHP môže považovať za platné.
  • CVE-2026-109619 – interný stav jednej požiadavky môže prežiť aj po uvoľnení pamäte a ďalšia požiadavka, ktorú obslúži ten istý PHP proces, ho môže zneužiť.

Obe majú hodnotenie závažnosti CVSS 9,2, teda kritické. Útočník môže pomocou špeciálne upravených požiadaviek zhodiť PHP, získať citlivé údaje alebo na serveri spustiť vlastný kód. Nepotrebuje na to žiadne heslo ani účet. Chyby nahlásili bezpečnostní výskumníci zo spoločností Calif.io, Wiz, OpenAI a Quarkslab.

Podľa SK-CERT sú zraniteľné všetky verzie od PHP 5.0 až po súčasnosť a technické podrobnosti boli zverejnené ešte pred vydaním opráv. V čase varovania síce nebolo potvrdené aktívne zneužívanie, no verejný výskum už opisuje funkčný spôsob útoku. Takéto chyby útočníci zvyčajne začnú hromadne skúšať veľmi rýchlo.

Prečo nestačí aktualizovať e-shop

Pri bežných bezpečnostných chybách stačí aktualizovať PrestaShop, WordPress alebo plugin. Tentoraz nie. Chyba nie je v kóde vášho e-shopu, ale v PHP, ktoré ho spúšťa. Útok sa navyše môže odohrať skôr, než sa váš e-shop vôbec začne vykonávať, takže ho nezastavia ani bezpečnostné pluginy či moduly.

Jediná skutočná oprava je aktualizácia PHP na serveri a reštart všetkých PHP procesov.

Ktoré verzie PHP sú opravené

Opravené verzie PHP sú:

  • PHP 8.5.12
  • PHP 8.4.27
  • PHP 8.3.36
  • PHP 8.2.35

Pre staršie verzie PHP 8.1, 8.0 a 7.4, ktoré už oficiálne podporu nemajú, vydal tím PHP len minimálne opravy. Niektoré linuxové distribúcie a poskytovatelia dlhodobej podpory opravujú aj tieto verzie. Pozor však na jednu vec: distribúcie často opravu nasadia bez zmeny čísla verzie. Ak teda vidíte napríklad PHP 8.2.20, nemusí to znamenať, že ste nechránení. Istotu vám dá len potvrdenie od hostingu.

Ako zistiť, akú verziu PHP máte

V PrestaShope: v administrácii otvorte Rozšírené parametre › Informácie. Verziu PHP nájdete v časti o serveri.

Vo WordPresse: otvorte Nástroje › Stav webu › Informácie a rozbaľte časť Server.

Na hostingu: verziu PHP väčšinou nájdete aj v administrácii hostingu, kde ju často viete aj zmeniť.

Čo urobiť ešte dnes

  1. Zistite, akú verziu PHP váš web používa.
  2. Napíšte hostingu a opýtajte sa, či na vašom serveri nasadili opravu zraniteľností CVE-2026-109618 a CVE-2026-109619. Požiadajte o písomné potvrdenie.
  3. Ak hosting opravu ešte nenasadil, opýtajte sa, kedy to bude. Pri zdieľanom hostingu to môžete urobiť len cez neho.
  4. Ak máte vlastný server (VPS) alebo ho spravuje agentúra, aktualizujte PHP a reštartujte všetky PHP procesy. Pri Dockeri treba znovu zostaviť obraz na opravenom základe, reštart kontajnera nestačí.
  5. Skontrolujte, či máte funkčnú zálohu webu, pre prípad, že by už k zneužitiu došlo.

Stačí krátka správa, napríklad: „Dobrý deň, prosím o potvrdenie, či je na serveri s mojím webom nasadená oprava PHP zraniteľností CVE-2026-109618 a CVE-2026-109619 (php2shell) a či boli reštartované PHP procesy. Ďakujem.“

Dočasné opatrenia pre správcov serverov

Ak PHP nemožno aktualizovať okamžite, tieto kroky riziko znížia, no nenahrádzajú aktualizáciu. Sú určené pre technikov a treba ich najprv vyskúšať na testovacom prostredí:

  • vypnúť session.upload_progress.enabled=0 v php.ini alebo v konfigurácii PHP-FPM a reštartovať procesy, nie cez .user.ini ani ini_set(),
  • obmedziť veľkosť požiadaviek (post_max_size, upload_max_filesize) aj na webovom serveri, ale tak, aby fungoval import produktov a nahrávanie obrázkov,
  • na PHP 8.5 nastaviť aj fatal_error_backtraces=0,
  • ak používate Cloudflare, jeho WAF má pre php2shell pripravené pravidlá. Server však musí prijímať prevádzku len cez Cloudflare.

Samotné skrytie chybových hlásení (napr. display_errors) nepomáha.

Staré PHP je samo o sebe riziko

Táto udalosť dobre ukazuje, prečo je dôležité nebežať na starej verzii PHP. Verzie 8.1 a staršie už oficiálnu podporu nemajú a PHP 8.2 končí podporu 31. 12. 2026. Ak váš e-shop beží na staršom PHP, často je to preto, že starší PrestaShop alebo niektoré moduly novšie PHP nepodporujú.

Najprv však treba vyriešiť aktuálne ohrozenie, teda opraviť PHP vo verzii, ktorú používate. Prechod na novší PrestaShop alebo PHP je väčší projekt, ktorý si vyžaduje kontrolu témy a modulov, a nemal by sa robiť narýchlo. PrestaShop 9 podporuje PHP 8.1 až 8.5, viac o najnovšej verzii píšem v článku PrestaShop 9.2: čo prináša.

A čo WordPress?

Weby na WordPresse sú ohrozené rovnako, pretože tiež bežia na PHP. Ak máte WordPress, okrem PHP skontrolujte aj samotný WordPress, ktorý nedávno dostal vlastnú bezpečnostnú aktualizáciu. Píšem o nej v článku WordPress 7.1.4: bezpečnostná aktualizácia.

Časté otázky

Pomôže aktualizácia PrestaShopu alebo WordPressu? Nie. Chyba je v PHP, nie v e-shope. Treba aktualizovať PHP na serveri.

Mám zdieľaný hosting. Musím niečo robiť? PHP aktualizuje hosting, no oplatí sa ho opýtať a nechať si opravu potvrdiť.

Ako zistím, či ma už niekto napadol? Istotu dá len analýza logov a súborov na serveri. Ak si všimnete neznáme súbory, nových administrátorov alebo zvláštne presmerovania, kontaktujte odborníka.

Týka sa to aj PrestaShopu 1.7? Áno, týka sa to každej verzie PrestaShopu aj WordPressu, pretože problém je v PHP pod nimi.

Potrebujete pomôcť?

Ak neviete, akú verziu PHP máte, alebo potrebujete overiť a aktualizovať server, rád vám pomôžem. Skontrolujem PHP, PrestaShop aj WordPress, komunikáciu s hostingom vybavím za vás a ak treba, pripravím bezpečný prechod na novšiu verziu. Napíšte mi cez formulár nižšie.

Contact Form
Návrat hore