Stručne: Zraniteľnosť PrestaShop, ktorá sa práve dostáva na titulky, je PHP2Shell a je v PHP, nie v obchode. Aktualizácia PrestaShop proti nej nepomôže. Po záplate PHP a reštarte by ste mali skontrolovať priečinok override, moduly, pokladňu a účty zamestnancov.
Čo PHP2Shell znamená pre obchodníkov na PrestaShop
PrestaShop je aplikácia v PHP, ktorá je rozšírená u malých a stredných obchodníkov, často na zdieľanom hostingu alebo jednoduchých vServeroch. Zraniteľnosti CVE-2026-109618 a CVE-2026-109619 podľa tímu PHP umožňujú spustenie škodlivého kódu na diaľku bez prihlásenia, bez ohľadu na stav obchodu.
Pre obchod je v stávke veľa: zákaznícke účty, adresy, objednávky, faktúry a prístupy k platobným a prepravným službám. Útočníci to pri obchodoch často smerujú na pokladňu, kde môžu odpočúvať platobné údaje ešte predtým, než dorazia k poskytovateľovi platieb.
K tomu pristupuje časový faktor. Podľa správ médií sa prvý pokus o útok pozoroval 17. 10. 2026, záplaty vyšli 21. 10. 2026. Obchod, ktorý bol v tomto čase dostupný, môže byť dotknutý, aj keď dnes všetko vyzerá normálne. Potvrdené Indicators of Compromise zatiaľ neexistujú; indície vyplývajú z nezvyčajného správania, nových súborov a zmien v databáze.
Zraniteľnosť PrestaShop: skontrolovať verziu PHP v Back Office
Pod Rozšírené nastavenia > Informácie zobrazuje PrestaShop údaje o serveri a PHP bežiacej inštalácie. Opravené upstream verzie sú 8.5.12, 8.4.27, 8.3.36 a 8.2.35. Poskytovatelia hostingu opravy čiastočne nasadzujú ako backport, zobrazené číslo potom zostane rovnaké. Nechajte si stav potvrdiť písomne.
Ktoré verzie PHP vaša verzia PrestaShop podporuje, skontrolujte podľa systémových požiadaviek v dokumentácii výrobcu na prestashop.com. Staršie obchody vo verziách 1.6 a 1.7 často bežia na starších verziách PHP; potom platí to, čo je uvedené na stránke Okamžité opatrenia bez záplaty, kým nebude možný upgrade.
Typické úkryty škodlivého kódu v PrestaShop
| Miesto | Obsah | Bod kontroly |
|---|---|---|
app/config/parameters.php (staršie verzie config/settings.inc.php) |
Prístup k databáze, kľúč cookies | Dátum zmeny, pri podozrení obnoviť |
override/ |
Prepísané triedy a kontroléry | Každý súbor musí byť vysvetliteľný |
modules/ |
Moduly z marketplace a od tretích strán | Neznáme moduly, zmenené súbory |
themes/ |
Šablóny a JavaScript, aj pre pokladňu | Cudzie skripty |
img/, upload/, download/ |
Obrázky, nahrávky zákazníkov, digitálne produkty | Žiadne súbory PHP |
var/cache/, var/logs/ |
Cache a protokoly | Zálohovať logy, cache vytvoriť znovu |
install/ |
Inštalačný priečinok | V prevádzke nesmie existovať |
Priečinok override si zaslúži osobitnú pozornosť. Kód uložený tam nahrádza časti PrestaShop, napríklad spracovanie objednávok alebo platieb, a pri aktualizáciách sa automaticky neodstráni.
Neškodné kontroly v príkazovom riadku a v databáze (predpona tabuliek podľa inštalácie):
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;
Ak zákazníci hlásia nezvyčajné platobné stránky alebo zneužitie karty po nákupe, odpojte pokladňu od siete a zálohujte logy od 20. 10. 2026. Zmanipulovaná pokladňa môže pri každom ďalšom nákupe odchytávať údaje.
Back Office, účty zamestnancov a moduly
Back Office je v adresári s individuálnym názvom, ktorý sa pridelí pri inštalácii. Pod Rozšírené nastavenia skontrolujte účty zamestnancov a profily na neznáme alebo osirotené prístupy, napríklad od bývalých agentúr. Adresár administrácie, ak je to možné, obmedzte na známe siete.
Moduly z marketplace a od tretích strán rozširujú platby, dopravu, marketing a rozhrania. Každý modul je dodatočný kód PHP a moduly bez aktívnej údržby patria medzi najčastejšie vstupné brány v obchodoch na PrestaShop. Nepoužívané odinštalujte a zmažte, namiesto toho aby ste ich len deaktivovali. Kľúče webovej služby pre API by ste mali tiež skontrolovať na neznáme záznamy.
Čo aktualizácia PrestaShop dokáže a čo nie
Aktualizácia PrestaShop alebo jednotlivých modulov uzatvára chyby v tomto kóde. PHP nezáplatuje, nereštartuje procesy a neodstráni ani overrides, ani cudzie moduly, skripty v téme či nové účty zamestnancov. Ak sa odcudzili osobné údaje, môže navyše existovať oznamovacia povinnosť; všeobecné informácie ponúka stránka Oznamovacia povinnosť podľa GDPR: 72 hodín, posúdenie v konkrétnom prípade prevezme vaša zodpovedná osoba za ochranu údajov. Čo majú obchodníci okrem toho zohľadniť, zhŕňa stránka IT bezpečnosť pre e-shopy.
Pri obchodoch s viacerými krajinami alebo funkciou multistore často bežia viaceré domény na tej istej inštalácii. Nález sa potom týka všetkých obchodov, aj keď sa nezrovnalosť zaznamenala len v jednom.
Ako konkrétne pomáha PHP SOS?
- S vaším poskytovateľom hostingu objasníme stav PHP, backport a reštart.
- Zálohujeme logy, súbory a databázu a zdokumentujeme východiskový stav.
- Kontrolujeme overrides, moduly, tému, priečinky nahrávania, účty zamestnancov a kľúče webovej služby.
- Pri nálezoch prevezme čistenie a obnovu prístupov naše odstraňovanie malvéru.
Časté otázky
Uzatvára aktualizácia PrestaShop PHP2Shell?
Nie. Aktualizácie PrestaShop odstraňujú chyby v kóde obchodu. Zraniteľnosti PHP2Shell sú v interpreteri PHP a uzatvárajú sa len aktualizáciou PHP alebo potvrdeným backportom s reštartom všetkých procesov PHP.
Kde v PrestaShop vidím verziu PHP?
V Back Office pod Rozšírené nastavenia > Informácie. Nachádzajú sa tam údaje o serveri a PHP. Nasadený backport sa z čísla nedá rozpoznať; potvrdí ho váš poskytovateľ hostingu.
Čo je priečinok override a prečo ho kontrolovať?
V priečinku override sa dajú prepísať triedy a kontroléry PrestaShop. Kód tam beží namiesto originálu, napríklad v pokladni. Neznáme overrides sú preto po podozrení dôležitým bodom kontroly.
Musí byť adresár administrácie premenovaný?
PrestaShop pri inštalácii pridelí adresáru administrácie vlastný názov. Sťažuje to jeho nájdenie, ale nenahrádza silné heslá, dvojfaktorové prihlásenie ani obmedzenie prístupu.