CVE-2016-3715
ImageMagick ImageMagick
2021-11-03
ImageMagick contains an unspecified vulnerability that could allow users to delete files by using ImageMagick's 'ephemeral' pseudo protocol, which deletes files after reading.
Технический анализ и план устранения
Суть уязвимости
Злоумышленник может удалить произвольные файлы на сервере, отправив специально сформированное изображение для обработки. Уязвимость возникает при использовании псевдопротокола ephemeral:// (или ephemeral:), который удаляет исходный файл после его чтения. Если ImageMagick обрабатывает пользовательский ввод, содержащий путь к критическому системному файлу (например, /etc/passwd) в этом протоколе, файл будет удален.
Пример вредоносного кода в изображении (например, в метаданных SVG):
<image authenticate='ff' decode='https://example.com' size='400x400'>
<read filename="ephemeral:/etc/passwd" />
...
</image>
Временное решение
Если немедленное обновление невозможно, заблокируйте опасные псевдопротоколы в политиках безопасности ImageMagick (policy.xml).
-
Найдите или создайте файл конфигурации
policy.xml. Обычные пути:/etc/ImageMagick-6/policy.xml(для версии 6)/etc/ImageMagick-7/policy.xml(для версии 7)/usr/local/etc/ImageMagick/policy.xml
-
Добавьте или измените правило для запрета псевдопротоколов
EPHEMERAL,URL,HTTPS,HTTP,FTPиMVG(последние часто используются для подобных атак). Вставьте следующий блок внутри узла<policymap>:xml <policy domain="coder" rights="none" pattern="EPHEMERAL" /> <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="FTP" /> <policy domain="coder" rights="none" pattern="MVG" /> -
Перезапустите службы, использующие ImageMagick (например, веб-сервер), чтобы изменения вступили в силу:
bash sudo systemctl restart apache2 # или nginx, php-fpm и т.д.
Как исправить
Установите исправленную версию ImageMagick из официальных репозиториев вашего дистрибутива.
Для Ubuntu/Debian:
sudo apt update
sudo apt install --only-upgrade imagemagick libmagickcore-6.q16-3 libmagickwand-6.q16-3
Минимальные безопасные версии: 8:6.9.6.8+dfsg-1 (для Debian/Ubuntu 16.04+) или версии, содержащие патчи от мая 2016 года и новее.
Для CentOS/RHEL 7/8:
sudo yum update imagemagick
Или для dnf:
sudo dnf update imagemagick
Для Windows: Обновите пакет до версии ImageMagick 7.0.1-1 или 6.9.4-0, выпущенных после 3 мая 2016 года. Скачайте установщик с официального сайта: https://imagemagick.org/script/download.php.
Проверка версии после обновления:
convert --version
Убедитесь, что версия соответствует указанным выше или новее.