Stručně: Zranitelnost PrestaShop, o které se nyní píše v titulcích, je PHP2Shell a je v PHP, ne v e-shopu. Aktualizace PrestaShop proti ní nepomůže. Po záplatě PHP a restartu byste měli zkontrolovat složku override, moduly, pokladnu a účty zaměstnanců.
Co PHP2Shell znamená pro obchodníky na PrestaShop
PrestaShop je aplikace v PHP rozšířená u malých a středních obchodníků, často na sdíleném hostingu nebo jednoduchých vServerech. Zranitelnosti CVE-2026-109618 a CVE-2026-109619 umožňují podle týmu PHP spuštění škodlivého kódu na dálku bez přihlášení, bez ohledu na stav e-shopu.
U e-shopu je v sázce hodně: zákaznické účty, adresy, objednávky, faktury a přístupy k platebním a přepravním službám. Útočníci to u e-shopů často mají namířeno na pokladnu, kde mohou platební údaje odposlouchávat dříve, než dorazí k poskytovateli plateb.
Přistupuje časový faktor. Podle zpráv médií byl první pokus o útok zaznamenán 17. 10. 2026, záplaty vyšly 21. 10. 2026. E-shop, který byl v té době dostupný, může být zasažen, i když dnes vše vypadá normálně. Potvrzené indikátory kompromitace (IoC) zatím neexistují; vodítka vyplývají z neobvyklého chování, nových souborů a změn v databázi.
Zranitelnost PrestaShop: kontrola verze PHP v Back Office
V nabídce Pokročilé nastavení > Informace zobrazuje PrestaShop údaje o serveru a PHP běžící instalace. Opravené verze upstreamu jsou 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Poskytovatelé hostingu opravy částečně nasazují jako backport, zobrazené číslo pak zůstane stejné. Nechte si stav potvrdit písemně.
Které verze PHP vaše verze PrestaShop podporuje, ověříte podle systémových požadavků v dokumentaci výrobce na prestashop.com. Starší e-shopy verzí 1.6 a 1.7 často běží na starších verzích PHP; pak platí, co je uvedeno v článku Okamžitá opatření bez záplaty, dokud nebude možný upgrade.
Typické úkryty škodlivého kódu v PrestaShop
| Místo | Obsah | Bod kontroly |
|---|---|---|
app/config/parameters.php (starší verze config/settings.inc.php) |
Přístup k databázi, klíč cookie | Datum změny, při podezření obnovit |
override/ |
Přepsané třídy a controllery | Každý soubor musí být vysvětlitelný |
modules/ |
Moduly z marketplace a od třetích stran | Neznámé moduly, změněné soubory |
themes/ |
Šablony a JavaScript, i pro pokladnu | Cizí skripty |
img/, upload/, download/ |
Obrázky, nahrávky zákazníků, digitální produkty | Žádné soubory PHP |
var/cache/, var/logs/ |
Cache a protokoly | Zálohovat logy, cache vytvořit znovu |
install/ |
Instalační složka | V provozu nesmí existovat |
Složka override si zaslouží zvláštní pozornost. Kód tam uložený nahrazuje části PrestaShop, například zpracování objednávek nebo plateb, a při aktualizacích se automaticky neodstraňuje.
Neškodné kontroly na příkazové řádce a v databázi (prefix tabulek podle instalace):
find override -name "*.php" -newermt "2026-10-17"
find img upload download -type f -name "*.php"
ls -d admin*
SELECT email, firstname, lastname, active FROM ps_employee;
Pokud zákazníci hlásí neobvyklé platební stránky nebo zneužití karty po nákupu, odpojte pokladnu od sítě a zálohujte logy od 20. 10. 2026. Zmanipulovaná pokladna může odchytávat data při každém dalším nákupu.
Back Office, účty zaměstnanců a moduly
Back Office leží v adresáři s individuálním názvem, který se přidělí při instalaci. V části Pokročilé nastavení zkontrolujte účty zaměstnanců a profily, zda neobsahují neznámé nebo osiřelé přístupy, například od dřívějších agentur. Adresář administrace pokud možno omezte na známé sítě.
Moduly z marketplace a od třetích stran rozšiřují platby, dopravu, marketing a rozhraní. Každý modul je dodatečný kód PHP a moduly bez aktivní péče patří k nejčastějším vstupním branám do e-shopů na PrestaShop. Nepoužívané odinstalujte a smažte, ne jen deaktivujte. Také klíče webové služby pro API zkontrolujte, zda neobsahují neznámé záznamy.
Co aktualizace PrestaShop zvládne a co ne
Aktualizace PrestaShop nebo jednotlivých modulů uzavře chyby v tomto kódu. Nezáplatuje PHP, nerestartuje procesy a neodstraní ani overrides, ani cizí moduly, skripty v motivu či nové účty zaměstnanců. Pokud byly odchyceny osobní údaje, může navíc existovat oznamovací povinnost; obecné informace nabízí oznamovací povinnost podle GDPR: 72 hodin, posouzení v konkrétním případě provede váš pověřenec pro ochranu osobních údajů. Co by obchodníci měli sledovat nad to, shrnuje článek IT bezpečnost pro e-shopy.
U e-shopů s více zeměmi nebo funkcí multistore často běží více domén na téže instalaci. Nález se pak týká všech e-shopů, i když si nápadnosti všimli jen v jednom.
Jak konkrétně pomáhá PHP SOS?
- S vaším poskytovatelem hostingu ujasníme stav PHP, backport a restart.
- Zálohujeme logy, soubory a databázi a zdokumentujeme výchozí stav.
- Kontrolujeme overrides, moduly, motiv, složky pro nahrávání, účty zaměstnanců a klíče webové služby.
- Při nálezech provede čištění a obnovení přístupů naše odstranění malwaru.
Časté dotazy
Uzavře aktualizace PrestaShop PHP2Shell?
Ne. Aktualizace PrestaShop opravují chyby v kódu e-shopu. Zranitelnosti PHP2Shell jsou v interpretu PHP a uzavře je jen aktualizace PHP nebo potvrzený backport s restartem všech procesů PHP.
Kde v PrestaShop vidím verzi PHP?
V Back Office v nabídce Pokročilé nastavení > Informace. Najdete tam údaje o serveru a PHP. Nasazený backport z čísla nepoznáte; potvrdí jej váš poskytovatel hostingu.
Co je složka override a proč ji kontrolovat?
Ve složce override lze přepisovat třídy a controllery PrestaShop. Kód tam běží místo originálu, například v pokladně. Neznámé overrides jsou proto po podezření důležitým bodem kontroly.
Musí být adresář administrace přejmenovaný?
PrestaShop přiděluje při instalaci adresáři administrace vlastní název. Ztěžuje to jeho nalezení, ale nenahrazuje silná hesla, dvoufázové přihlášení ani omezení přístupu.