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.

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

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

  1. Настройте политику безопасности 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" />

  2. Используйте WAF (Web Application Firewall). Настройте правила для блокировки HTTP-запросов, исходящих от вашего веб-приложения к внутренним сетям (правила против SSRF).

  3. Ограничьте сетевой доступ. Настройте групповые политики или брандмауэр так, чтобы серверы, обрабатывающие изображения, не имели исходящего доступа к внутренним критическим ресурсам (порты 80, 443, 8080 и т.д.) и могли делать запросы только в доверенные внешние сети, если это необходимо.