Comments 25
(а) ему показали эксплойт для GM
(б) советует использовать переменную окружения MAGICK_CODER_STABILITY=PRIMARY
http://www.openwall.com/lists/oss-security/2016/05/04/3
policy.xml он очевидно не интересуется.
В статье по ссылке указаны возможное решения рпоблемы в виде изоляции ffmpeg
Я проверил GraphicsMagick (у меня под рукой оказалась версия 1.3.20 2014-08-16 Q8, не уверен, что это прям свежак), он подвержен как минимум чтению локальных файлов через label
(CVE-2016-3717), правда, рендерится только первая строчка файла. Возможно, это как-то обходится, но суть в том, что пользователям GM всё-таки стоит начать беспокоиться. SSRF через url
точно не работает.
policy.xml
не обязательно лежит в /etc/ImageMagick
Но команда convert -list policy
подскажет какой именно файл используется, и что ваши настройки поняты и используются. Пример:
$ convert -list policy
Path: /etc/ImageMagick-6/policy.xml
Policy: undefined
rights: None
Policy: Coder
rights: None
pattern: EPHEMERAL
Policy: Coder
rights: None
pattern: URL
Policy: Coder
rights: None
pattern: HTTPS
Policy: Coder
rights: None
pattern: MVG
Policy: Coder
rights: None
pattern: MSL
Path: [built-in]
Policy: Undefined
rights: None
Выложили обещанные PoC — https://github.com/ImageTragick/PoCs + там же простой шелл-скрипт для локальной проверки.
<!-- CVE-2016-3714 -->
<policy domain="coder" rights="none" pattern="EPHEMERAL" />
<policy domain="coder" rights="none" pattern="HTTPS" />
<policy domain="coder" rights="none" pattern="HTTP" />
<policy domain="coder" rights="none" pattern="URL" />
<policy domain="coder" rights="none" pattern="FTP" />
<policy domain="coder" rights="none" pattern="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
Есть источник? Там же наверняка есть эксплойты к этим дополнительным паттернам, я бы проверил. Мне кажется, на деле они покрываются теми, что указаны на imagetragick.com.
https://www.imagemagick.org/discourse-server/viewtopic.php?f=4&t=29588
За пол дня ещё несколько приехало.
Это посты от 3 мая, то есть, либо незадолго до публичного раскрытия, либо сразу после него (не помню точное время). Больше похоже на попытку перебдеть. Текущий policy-конфиг работает для всех известных на данный момент PoC. Не могу говорить с полной уверенностью, но ощущение, что часть строк там ничего не делает. Были бы пруфы, можно было бы что-то обсуждать.
1. Ищем, где инклудится конфиг:
strace -f convert 2>&1 | grep policy
2. В раздел добавляем:
<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="MVG" />
<policy domain="coder" rights="none" pattern="MSL" />
<policy domain="coder" rights="none" pattern="TEXT" />
<policy domain="coder" rights="none" pattern="SHOW" />
<policy domain="coder" rights="none" pattern="WIN" />
<policy domain="coder" rights="none" pattern="PLT" />
Множество уязвимостей в ImageMagick, одна из которых ведёт к RCE