Chyba 500 nebo bílá obrazovka v PrestaShopu: co dělat hned teď
Váš e-shop na PrestaShopu ukazuje chybu 500 nebo prázdnou stránku: co dělat hned, abyste to nezhoršili, jak uvidět…
20. října se objevilo varování, které uvedlo do napětí půlku internetu: dvě vážné zranitelnosti v PHP, jazyku, na kterém běží váš e-shop na PrestaShopu, dovolují cizímu člověku převzít kontrolu nad serverem bez jména a hesla. Říká se jim PHP2Shell. PHP vydalo opravu 21. října a co máte udělat, záleží na jediné věci: na verzi PHP, na které váš e-shop běží.
Vysvětlíme vám to bez žargonu: co se stalo, jak zjistit, jestli se vás to týká, co udělat ještě dnes a co dělat, když je váš e-shop na verzi, která opravu nedostává.
PHP je motor, na kterém stojí PrestaShop, WordPress, Magento a většina e-shopů a webů na světě. Obě zranitelnosti, vedené jako CVE-2026-109618 a CVE-2026-109619, mají hodnocení závažnosti 9,2 z 10. V praxi to znamená, že kdo je umí zneužít, může na vašem serveru spustit cokoli: nechat tam zadní vrátka, ukrást data vašich zákazníků nebo do e-shopu podstrčit falešnou captchu, jako je ClickFix.
Od jiných varování se liší tím, že útok nevede přes PrestaShop ani přes žádný modul. Odehraje se v PHP, ještě než váš e-shop návštěvu vůbec přečte. Je jedno, jak dobře se o něj staráte: pokud je PHP na serveru zranitelné, je zranitelný i e-shop.
A informace unikly s předstihem. Bezpečnostní firma Sansec uvádí, že spolu s varováním se objevil snímek už hotového útočného nástroje, a očekávala hromadné útoky hned po zveřejnění opravy. Podle stejného zdroje Cloudflare už zaznamenal první pokusy a nasadil pravidla, která je mají zastavit.
Nejspíš ano. PHP ve svém bezpečnostním upozornění považuje za ohroženou každou instalaci, která obsluhuje webové stránky, ať ji server spouští jakkoli, a nejvyšší riziko vidí u serverů Apache s mod_php, kde už existuje předvedený útok, který funguje bez jména a hesla. Sansec mluví o každém serveru s PHP 5.4 nebo novějším, což je v praxi každý e-shop na PrestaShopu, který dnes běží.
Otázka, na které opravdu záleží, je jiná: dostanete opravu? PHP zranitelnost opravilo ve verzích 8.2.35, 8.3.36, 8.4.27 a 8.5.12. PHP 8.1 a starší už oficiální aktualizace nedostávají: pro 7.4, 8.0 a 8.1 PHP zveřejnilo minimální opravu, kterou je potřeba ručně zkompilovat, a někteří poskytovatelé prodloužené podpory ji zařazují do svých balíčků. A každá verze PrestaShopu funguje jen s určitými verzemi PHP:
Jinak řečeno: pokud váš e-shop není na PrestaShopu 9, žádná oficiální aktualizace k instalaci neexistuje, protože vaše verze PrestaShopu nedokáže běžet na PHP, které ji má. Zbývá minimální oprava, což je práce pro technika a před další dírou vás stejně neochrání.
Přihlaste se do administrace e-shopu a otevřete Nástroje → Informace. Uvidíte tam verzi PrestaShopu a o kousek níž verzi PHP. S těmi dvěma čísly už víte, do které skupiny patříte.
Přepnutí e-shopu do režimu údržby v administraci vás tentokrát neochrání: PHP návštěvu přečte dřív, než PrestaShop rozhodne, že ukáže stránku údržby.
PHP navrhuje několik nastavení serveru, která některé cesty útoku uzavřou, a upozorňuje, že e-shop bezpečným neudělají: to dokáže jen aktualizace. Sansec přidává další nouzové opatření: zablokovat na serveru typ odesílání, kterým putují soubory nahrávané na web. Má to svou cenu: dokud platí, nikdo nemůže do vašeho e-shopu nahrávat soubory. Vy ne fotky nového produktu a vaši zákazníci ne přílohu v kontaktním formuláři. E-shop přitom dál normálně prodává.
Slouží k tomu, abyste získali pár dní, ne abyste to tak nechali. Až se v PHP objeví další díra – a objeví se –, bude váš e-shop ve stejné situaci, protože PHP 8.1 a starší už nedostávají aktualizace.
Je to otázka, která se pořád odkládá, protože e-shop funguje. PHP2Shell je přesně to, co se stane, když se odkládá příliš dlouho: den, kdy problém přijde, si nevybíráte vy, a oprava není ve vašich rukou.
Přechod na PrestaShop 9 vás dostane na PHP, které bude dostávat záplaty ještě roky. Dělá se bez zavření e-shopu, ponecháte si produkty, zákazníky, objednávky i pozice v Googlu a u malého e-shopu stojí od 690 €. Celé to popisujeme v článku přechod z PrestaShopu 1.7 nebo 1.6 na 9 a na naší stránce o migraci PrestaShopu 1.6 a 1.7 na 9.
A pokud nechcete taková varování hlídat sami, přesně to pokrývá údržba PrestaShopu: někdo, kdo za vás aktualizuje PHP, PrestaShop i moduly a dá vám vědět dřív, než se problém k vašemu e-shopu dostane.
Opravené verze: 8.2.35, 8.3.36, 8.4.27 a 8.5.12. Pro 7.4, 8.0 a 8.1 PHP zveřejňuje větve s minimální opravou ve zdrojovém kódu, odkázané z jeho upozornění; nejde o oficiální verze. Dílčí opatření, která PHP uvádí, v php.ini, v poolu PHP-FPM (php_admin_value) nebo v konfiguraci serveru, nikdy přes ini_set() ani .user.ini, a s restartem všech procesů:
; CVE-2026-109618
memory_limit = -1
post_max_size = 32M ; 8M, pokud se nenahrávají soubory
; CVE-2026-109619
session.upload_progress.enabled = 0
; pouze v PHP 8.5
fatal_error_backtraces = 0
PHP žádá, aby se memory_limit nenahrazoval systémovými limity (RLIMIT_AS, RLIMIT_DATA). Opatření Sansecu, blokování multipart/form-data (rozbije veškeré nahrávání souborů, včetně administrace), v Apache:
RewriteEngine On
RewriteCond %{HTTP:Content-Type} multipart/form-data [NC]
RewriteRule ^ - [F]
V Nginxu:
if ($http_content_type ~* "multipart/form-data") {
return 403;
}
U balíčků z repozitáře Remi (běžné na RHEL, AlmaLinuxu nebo Rocky) Sansec upozorňoval, že aktualizace nepřišla týž den: nainstalovanou verzi ověřte přes php -v. S Cloudflare omezte port 443 originu na jeho rozsahy IP; jinak útok dorazí přímo na IP serveru.
Pokud nevíte, do které skupiny patříte, pokud vám hosting neodpovídá nebo pokud je váš e-shop na verzi 1.6, 1.7 nebo 8 a chcete se z ní dostat, napište nám svou verzi PrestaShopu a PHP. Řekneme vám, co udělat ještě dnes, a pokud bude potřeba, dáme vám pevnou cenu za přechod na PrestaShop 9.
Váš e-shop na PrestaShopu ukazuje chybu 500 nebo prázdnou stránku: co dělat hned, abyste to nezhoršili, jak uvidět…
Co zahrnuje údržba e-shopu na PrestaShopu, kolik hodin potřebujete a kolik stojí za rok: tři tarify od 590 € do 1 790…
Přechod z PrestaShopu 1.6 nebo 1.7 na verzi 9 bez zavření e-shopu: co si ponecháte, co se stane s moduly, Googlem a…
Modul, aplikace, server, který vám dělá potíže, nebo něco naléhavého. Odpovíme do 24 hodin s pevnou nabídkou, cenou a termínem.