CVE-2022-24086

Adobe Commerce and Magento Open Source

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-02-15

Официальное описание

Adobe Commerce and Magento Open Source contain an improper input validation vulnerability which can allow for arbitrary code execution.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (CVE-2022-24086) в Adobe Commerce и Magento Open Source позволяет злоумышленнику выполнить произвольный код на сервере. Это достигается путем отправки специально сформированного HTTP-запроса, который обходит проверку входных данных в системе. В результате атакующий может получить полный контроль над веб-сервером и базой данных.

Как исправить

Необходимо немедленно обновить систему до защищенной версии. Установите соответствующий патч в зависимости от вашей версии продукта.

  1. Определите текущую версию Magento/Adobe Commerce: bash php bin/magento --version

  2. Установите обновление безопасности:

    • Для Adobe Commerce 2.4.3-p1 – 2.4.3-p3 и Magento Open Source 2.4.3-p1 – 2.4.3-p3: обновитесь до версии 2.4.3-p4 или выше.
    • Для Adobe Commerce 2.4.4 и Magento Open Source 2.4.4: обновитесь до версии 2.4.4-p1 или выше.

    Команда для обновления через Composer (пример для Magento Open Source 2.4.3-p1 до 2.4.3-p4): bash composer require magento/product-community-edition=2.4.3-p4 --no-update composer update php bin/magento setup:upgrade php bin/magento cache:clean

    Для Adobe Commerce используйте соответствующий пакет magento/product-enterprise-edition.

  3. Проверьте обновление: bash php bin/magento --version Убедитесь, что в версии отображается -p4 или выше для 2.4.3 и -p1 или выше для 2.4.4.

Временное решение

Если немедленное обновление невозможно, примите следующие меры для снижения риска:

  1. Настройте WAF (Web Application Firewall):

    • Добавьте правило, блокирующее HTTP-запросы, содержащие подозрительные последовательности символов, часто используемые для эксплуатации этой уязвимости (например, различные конструкции {{...}} или $() в параметрах запроса).
    • Пример правила для ModSecurity (CRS): Активируйте параноидальный уровень (Paranoia Level) и проверьте работу правил из групп REQUEST-932-APPLICATION-ATTACK-RCE и REQUEST-933-APPLICATION-ATTACK-PHP.
  2. Ограничьте доступ:

    • Настройте сетевой ACL или файрвол, чтобы разрешить доступ к административной панели (/admin или ваш кастомный путь) только с доверенных IP-адресов.
    • Пример правила iptables (разрешить только с IP 192.168.1.100): bash iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -s 192.168.1.100 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j DROP iptables -A INPUT -p tcp --dport 443 -j DROP
  3. Повысьте мониторинг:

    • Включите детальное логирование веб-запросов (access.log и error.log в Nginx/Apache) и настройте алерты на попытки доступа к нестандартным эндпоинтам или с подозрительными payload-ами в параметрах URL и телах запросов.
    • Регулярно проверяйте целостность системных файлов Magento (например, с помощью bin/magento setup:db:status и инструментов типа AIDE).