V posledních dnech se šíří případy zavirovaných eshopů na platformě Prestashop, způsobené zranitelností, která umožňuje spustit libovolný kód a tím provádět jakékkoliv další změny v souborech a potenciálně odcizit údaje o platební kartě zákazníka.

Chyba se týká verze Prestashop 1.6.0.10 nebo vyšší, kde je zranitelnost týkající se zabezpečení proti spuštění SQL dotazu (SQL injection). Verze 1.7.8.2 a vyšší nejsou zranitelné, pokud nemají modul, který sám o sobě obsahuje chybu zabezpečení proti SQL injection. Z výchozích modulů se to týká modulu Wishlist (blockwishlist), verze 2.0.0 - 2.1.0. Problém se může týkat i dalších modulů včetně placených, setkali jsme se s tím například u modulů dopravců s odběrným místem. 

Poté, co útočníci úspěšně získají kontrolu nad obchodem, vloží falešný platební formulář na stránku objednávky. Formulář je v angličtině, což by mělo odradit české zákazníky. Pokud ale zadají informace o své kreditní kartě do falešného formuláře, mohou je nevědomky odeslat útočníkům.

Prestashop opravuje chybu ve verzi 1.7.8.7. Pokud nechcete aktualizovat, doporučujeme následující úpravy.

Vyhledejte soubor config/smarty.config.inc.php v instalaci PrestaShopu a odstraňte řádky 43-46 (PrestaShop 1.7) nebo 40-43 (PrestaShop 1.6):

if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql') {
    include _PS_CLASS_DIR_.'Smarty/SmartyCacheResourceMysql.php';
    $smarty->caching_type = 'mysql';
}

Předpokladem je, že nepoužíváte MySQL Smarty cache (platí pro většinu eshopů). Ve verzi 1.7 ještě nahraďte soubor \classes\Smarty\SmartyCacheResourceMysql.php souborem z verze 1.7.8.7, kde vyšla oprava.

Doporučujeme preventivní prohlídku eshopu pro kontrolu zda nedošlo k napadení a také kontrolu použitých modulů (zda nemají zranitelnost SQL injection). Pro další informace a pomoc s odvirováním eshopu, nás můžete kontaktovat.

Comments