Накратко: Уязвимостта на PrestaShop, която в момента прави заглавия, е PHP2Shell и е в PHP, а не в магазина. Актуализация на PrestaShop не помага срещу нея. След пача на PHP и рестартирането проверете папката override, модулите, касата и акаунтите на служителите.
Какво означава PHP2Shell за търговци с PrestaShop
PrestaShop е PHP приложение, разпространено при малки и средни търговци, често на споделен хостинг или прости vServer-и. Уязвимостите CVE-2026-109618 и CVE-2026-109619 позволяват според екипа на PHP изпълнение на злонамерен код от разстояние без вход в системата, независимо от състоянието на магазина.
За един магазин на карта има много: клиентски акаунти, адреси, поръчки, фактури и достъпи до платежни и куриерски услуги. Нападателите често се целят при магазините в касата, където могат да четат платежните данни, преди да стигнат до платежния доставчик.
Добавя се и факторът време. Според съобщения в медиите първият опит за атака е наблюдаван на 17.10.2026 г., пачовете се появиха на 21.10.2026 г. Магазин, който е бил достъпен през това време, може да е засегнат, дори и днес всичко да изглежда нормално. Потвърдени индикатори за компрометиране (IOC) засега няма; следи се получават от необичайно поведение, нови файлове и промени в базата данни.
Уязвимост на PrestaShop: проверка на версията на PHP в Back Office
Под Advanced Parameters > Information PrestaShop показва данни за сървъра и PHP на работещата инсталация. Поправените версии на оригиналния проект са 8.5.12, 8.4.27, 8.3.36 и 8.2.35. Хостинг доставчиците понякога внасят корекциите като backport, показаният номер тогава остава същият. Поискайте състоянието писмено като потвърждение.
Кои версии на PHP поддържа Вашата версия на PrestaShop, проверете според системните изисквания в документацията на производителя на prestashop.com. По-старите магазини във версии 1.6 и 1.7 често работят на по-стари състояния на PHP; тогава важи това, което пише в Незабавни мерки без пач, докато надграждането стане възможно.
Типични скривалища на злонамерен код в PrestaShop
| Място | Съдържание | Какво да проверите |
|---|---|---|
app/config/parameters.php (по-стари версии config/settings.inc.php) |
достъп до базата данни, ключ за бисквитки | дата на промяна, при подозрение сменете |
override/ |
презаписани класове и контролери | всеки файл трябва да може да се обясни |
modules/ |
модули от пазара и от трети доставчици | непознати модули, променени файлове |
themes/ |
шаблони и JavaScript, и за касата | чужди скриптове |
img/, upload/, download/ |
изображения, качвания на клиенти, дигитални продукти | без PHP файлове |
var/cache/, var/logs/ |
кеш и протоколи | запазете логовете, генерирайте кеша наново |
install/ |
инсталационна папка | не бива да присъства в експлоатация |
Папката override заслужава особено внимание. Кодът, оставен там, замества части от PrestaShop, например обработката на поръчките или плащането, и не се премахва автоматично при актуализации.
Безопасни проверки в командния ред и в базата данни (префиксът на таблиците зависи от инсталацията):
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;
Ако клиенти съобщават за необичайни платежни страници или злоупотреба с карти след покупка, изключете касата от мрежата и запазете логовете от 20.10.2026 г. нататък. Манипулирана каса може да прихваща данни при всяка следваща покупка.
Back Office, акаунти на служители и модули
Back Office е в директория с индивидуално име, което се задава при инсталацията. Проверете под Advanced Parameters акаунтите на служителите и профилите за непознати или осиротели достъпи, например от предишни агенции. Ако е възможно, ограничете админ директорията до познати мрежи.
Модулите от пазара и от трети доставчици разширяват плащането, доставката, маркетинга и интерфейсите. Всеки модул е допълнителен PHP код, а модулите без активна поддръжка са сред най-честите входни точки в магазини на PrestaShop. Деинсталирайте и изтрийте неизползваното, вместо само да го деактивирате. Проверете и ключовете на уеб услугата за API за непознати записи.
Какво може актуализацията на PrestaShop и какво не
Актуализация на PrestaShop или на отделни модули затваря грешки в този код. Тя не пачва PHP, не рестартира процеси и не премахва нито overrides, нито чужди модули, скриптове в темата или нови акаунти на служители. Ако са прихванати лични данни, може освен това да съществува задължение за уведомяване; общи сведения предлага Задължение за уведомяване по ОРЗД: 72 часа, а оценката в конкретния случай поема Вашето длъжностно лице по защита на данните. Какво трябва допълнително да имат предвид търговците, обобщава ИТ сигурност за онлайн магазини.
При магазини с няколко държави или с функция multistore често на една и съща инсталация работят няколко домейна. Находката засяга тогава всички магазини, дори и нередността да е забелязана само в един.
Как помага PHP SOS конкретно?
- С Вашия хостинг доставчик изясняваме състоянието на PHP, backport-а и рестартирането.
- Запазваме логове, файлове и база данни и документираме изходното състояние.
- Проверяваме overrides, модулите, темата, папките за качване, акаунтите на служителите и ключовете на уеб услугата.
- При находки нашата услуга за премахване на зловреден софтуер поема почистването и подновяването на достъпите.
Често задавани въпроси
Затваря ли актуализация на PrestaShop PHP2Shell?
Не. Актуализациите на PrestaShop отстраняват грешки в кода на магазина. Уязвимостите PHP2Shell са в интерпретатора на PHP и се затварят само чрез актуализация на PHP или потвърден backport с рестартиране на всички PHP процеси.
Къде виждам версията на PHP в PrestaShop?
В Back Office под Advanced Parameters > Information. Там стоят данните за сървъра и PHP. Внесен backport не се познава по номера; това потвърждава Вашият хостинг доставчик.
Какво е папката override и защо да я проверя?
В папката override могат да се презаписват класове и контролери на PrestaShop. Кодът там работи вместо оригинала, например при касата. Непознатите overrides са затова важна точка за проверка при подозрение.
Трябва ли админ директорията да е преименувана?
При инсталацията PrestaShop задава собствено име на админ директорията. Това затруднява откриването ѝ, но не заменя силните пароли, двуфакторното удостоверяване и ограничаването на достъпа.