22 мая 2025 года на security.friendsofpresta.org была опубликована информация о критической уязвимости в популярном модуле AP Page Builder, используемом в тысячах тем для PrestaShop. Уязвимость получила идентификатор CVE-2024-6648 и оценку 8.7 по шкале CVSS, что делает её крайне опасной.
Что это за уязвимость?
Уязвимость представляет собой Absolute Path Traversal (CWE-36) — тип атаки, при которой злоумышленник может указать путь к произвольному файлу на сервере и получить к нему доступ.
В уязвимых версиях AP Page Builder (до 4.0.0) злоумышленник может передать специально сформированный параметр config
в файл apajax.php
, чтобы модуль прочитал любой файл на сервере, к которому есть права у PHP.
Иными словами, без какой-либо авторизации и взаимодействия с пользователем злоумышленник может, например, прочитать такие чувствительные файлы, как:
-
/etc/passwd
-
config/settings.inc.php
(включая доступ к базе данных) -
.env
файлы или приватные ключи
Как работает атака?
Ключевым элементом является параметр config
, передаваемый через GET-запрос в Base64-формате. Внутри этой строки злоумышленник может подменить путь к файлу, который должен быть загружен модулем.
Пример URL для атаки:
Внутри этой Base64-строки находится JSON с параметром product_item_path
, который можно подменить, например, на:
Важно: можно использовать спецсимволы в строке Base64, чтобы обойти Web Application Firewall (WAF). PHP-функция base64_decode()
игнорирует лишние символы, что делает защиту еще сложнее.
Пример обфусцированного Base64:
Доказательство концепции
Исследователь n0d0n опубликовал рабочий PoC (proof-of-concept) на GitHub:
👉 github.com/n0d0n/CVE-2024-6648
Кто подвержен?
-
Все магазины, использующие AP Page Builder версии ниже 4.0.0
-
Особенно уязвимы те, кто не применяет дополнительные меры защиты на уровне сервера (WAF, ограничения прав PHP, SELinux и т.д.)
По данным исследователей, уязвимость затрагивает более 2 000 тем, распространяемых через различные маркетплейсы.
Как защититься?
-
Обновите модуль AP Page Builder до версии 4.0.0 или выше.
-
Если вы используете ModSecurity: замените
base64Decode
наbase64DecodeExt
, чтобы лучше фильтровать вредоносные строки. -
Проверьте свои серверные логи на подозрительные запросы к
apajax.php
с параметромconfig
. -
Убедитесь, что права доступа к критическим файлам и каталогам настроены корректно.
-
Используйте WAF с правилами для блокировки атак типа Path Traversal.
Хронология
Дата | Событие |
---|---|
2024-07-15 | Incibe сообщает об уязвимости автору модуля |
2024-08-16 | По запросу разработчика даётся отсрочка на 1 год для исправления |
2024-10-16 | Согласована отсрочка на 9 месяцев |
2025-05-08 | Уязвимость раскрыта публично, опубликован PoC |
Если ваш магазин использует модуль AP Page Builder — обновление критически важно. Уязвимость позволяет любому пользователю с интернет-доступом прочитать конфиденциальные данные сервера, включая ключи и доступ к базе данных. Это может привести к полной компрометации сайта.
Если вы не уверены, используется ли этот модуль — проверьте наличие modules/appagebuilder/
в структуре магазина.
Если вам нужна помощь с проверкой или обновлением — напишите через форму на сайте.