CVE-2016-3718
ImageMagick ImageMagick
2021-11-03
ImageMagick contains an unspecified vulnerability that allows attackers to perform server-side request forgery (SSRF) via a crafted image.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2016-3718) в ImageMagick позволяет злоумышленнику выполнить атаку типа Server-Side Request Forgery (SSRF). Для этого достаточно загрузить на сервер специально сформированное изображение (например, в формате MVG), содержащее URL-ссылку на внутренний ресурс. При обработке такого файла ImageMagick попытается выполнить HTTP-запрос по указанному адресу, что может привести к: * Обходу межсетевых экранов. * Сканированию внутренней сети. * Атакам на внутренние системы (например, Jenkins, Redis, базы данных).
Как исправить
Основное решение — обновить ImageMagick до исправленной версии.
-
Для Debian/Ubuntu:
bash sudo apt update sudo apt install imagemagickУбедитесь, что установлена версия 6.9.6-8 или выше для Debian/Ubuntu 16.04, или последняя доступная для вашего дистрибутива. -
Для RHEL/CentOS 7:
bash sudo yum update imagemagickУбедитесь, что установлена версия 6.9.4-10 или выше из репозиторияrhel-7-server-rpms. -
Для Windows: Установите последнюю версию с официального сайта ImageMagick.org. Уязвимость устранена в версиях, выпущенных после мая 2016 года.
После обновления обязательно перезапустите все службы и демоны (например, веб-сервер), которые используют ImageMagick.
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Настройте политику безопасности ImageMagick (
policy.xml). Отредактируйте файл (обычно/etc/ImageMagick-6/policy.xmlили/etc/ImageMagick/policy.xml):xml <!-- Запрет всех кодеров MVG и URL --> <policy domain="coder" rights="none" pattern="MVG" /> <policy domain="coder" rights="none" pattern="URL" /> <policy domain="coder" rights="none" pattern="HTTPS" /> <policy domain="coder" rights="none" pattern="HTTP" /> <!-- Дополнительно можно ограничить другие потенциально опасные форматы --> <policy domain="coder" rights="none" pattern="EPHEMERAL" /> <policy domain="coder" rights="none" pattern="MSL" /> -
Используйте WAF (Web Application Firewall). Настройте правила для блокировки HTTP-запросов, исходящих от вашего веб-приложения к внутренним сетям (правила против SSRF).
-
Ограничьте сетевой доступ. Настройте групповые политики или брандмауэр так, чтобы серверы, обрабатывающие изображения, не имели исходящего доступа к внутренним критическим ресурсам (порты 80, 443, 8080 и т.д.) и могли делать запросы только в доверенные внешние сети, если это необходимо.