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-запроса, который обходит проверку входных данных в системе. В результате атакующий может получить полный контроль над веб-сервером и базой данных.
Как исправить
Необходимо немедленно обновить систему до защищенной версии. Установите соответствующий патч в зависимости от вашей версии продукта.
-
Определите текущую версию Magento/Adobe Commerce:
bash php bin/magento --version -
Установите обновление безопасности:
- Для 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. -
Проверьте обновление:
bash php bin/magento --versionУбедитесь, что в версии отображается-p4или выше для 2.4.3 и-p1или выше для 2.4.4.
Временное решение
Если немедленное обновление невозможно, примите следующие меры для снижения риска:
-
Настройте WAF (Web Application Firewall):
- Добавьте правило, блокирующее HTTP-запросы, содержащие подозрительные последовательности символов, часто используемые для эксплуатации этой уязвимости (например, различные конструкции
{{...}}или$()в параметрах запроса). - Пример правила для ModSecurity (CRS): Активируйте параноидальный уровень (Paranoia Level) и проверьте работу правил из групп
REQUEST-932-APPLICATION-ATTACK-RCEиREQUEST-933-APPLICATION-ATTACK-PHP.
- Добавьте правило, блокирующее HTTP-запросы, содержащие подозрительные последовательности символов, часто используемые для эксплуатации этой уязвимости (например, различные конструкции
-
Ограничьте доступ:
- Настройте сетевой 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
- Настройте сетевой ACL или файрвол, чтобы разрешить доступ к административной панели (
-
Повысьте мониторинг:
- Включите детальное логирование веб-запросов (
access.logиerror.logв Nginx/Apache) и настройте алерты на попытки доступа к нестандартным эндпоинтам или с подозрительными payload-ами в параметрах URL и телах запросов. - Регулярно проверяйте целостность системных файлов Magento (например, с помощью
bin/magento setup:db:statusи инструментов типа AIDE).
- Включите детальное логирование веб-запросов (