URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 107796
[ Назад ]

Исходное сообщение
"Критическая уязвимость в библиотеке ImageMagick, используемо..."

Отправлено opennews , 04-Май-16 10:08 
В библиотеке ImageMagick (http://www.imagemagick.org/), которая часто используется web-разработчиками для преобразования изображений (например, создания миниатюр), устранена (http://openwall.com/lists/oss-security/2016/05/03/13) порция уязвимостей (http://www.openwall.com/lists/oss-security/2016/05/03/18), среди которых имеется критическая проблема (CVE-2016-3714), позволяющая организовать выполнение кода при обработке специально оформленных изображений. В том числе проблеме подвержены пользователи пакетов PHP imagick, Ruby rmagick,  Ruby paperclip и Node.js imagemagick. Уязвимости присвоено имя "ImageTragick (https://imagetragick.com/)".

Исследователями уже подготовлен (http://www.openwall.com/lists/oss-security/2016/05/03/18) рабочий прототип эксплоита, который вероятно уже взят злоумышленниками на вооружение для проведения атак (имеются сведения, что информация об уязвимости стала доступна посторонним до обнародования проблемы). Всем пользователям рекомендуется незамедлительно обновить ImageMagick, но  на момент написания новости исправление доступно в виде сомнительного с точки зрения надёжности патча (https://github.com/ImageMagick/ImageMagick/commit/a347456a1e...). Обновления пакетов для дистрибутивов еще не сформированы: Debian (https://security-tracker.debian.org/tracker/CVE-2016-3714), Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2016/CVE-2...), RHEL/CentOS (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-3714), SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2016-3714), openSUSE (https://lists.opensuse.org/opensuse-security-announce/2016-05/), FreeBSD (http://www.vuxml.org/freebsd/), Fedora (https://bodhi.fedoraproject.org/updates/?releases=F23&type=s...).


В качестве обходного пути защиты пользователям ImageMagick рекомендуется отключить проблемные типы обработчиков в файле конфигурации /etc/ImageMagick/policy.xml (https://gist.github.com/rawdigits/d73312d21c8584590783a5e07e...). Кроме того, предлагается реализовать проверку поступающих на обработку изображений на предмет соответствия расширения файла и его идентификатора в заголовке файла (GIF - "47 49 46 38", JPEG - "FF D8" и т.п.).


Уязвимость вызвана (http://www.openwall.com/lists/oss-security/2016/05/03/18) ненадлежащей проверкой имён файлов при вызове внешних обработчиков, которые вызываются при помощи функции system() с использованием одной строки, без разделения опций. Так как параметр с именем файла (%M) передаётся напрямую без чистки и имеется возможность передачи произвольных спецсимволов, не составляет труда осуществить подстановку любых shell-команд. Например, обработчик HTTPS оформлен как '"wget" -q -O "%o" "https:%M"', что позволяет вместо имени хоста указать '"https://example.com" |ls "-la"' и выполнить команду 'ls -la'.

URL: http://openwall.com/lists/oss-security/2016/05/03/13
Новость: http://www.opennet.me/opennews/art.shtml?num=44371


Содержание

Сообщения в этом обсуждении
"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено анон , 04-Май-16 10:08 
стоп. т.е. если файл был получен от пользователя в request и его сохранили локально не под его настоящим именем, а под автогенерированным(с сохранением расширения), а потом обработали imageMagick-ом, то серверу ничего не будет?
если да, то это тогда webMonkeyTragick.

"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено анон , 04-Май-16 10:41 
охохох. если все так и обстоит с svg и ко, то это просто дыра космического масштаба=(

"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено Ухаха , 05-Май-16 10:05 
Речь только о "формате" MVG, содержимое которого является набором команд Imagemagick, которые могут принимать активное содержимое.

Чтобы оказаться уязвимым, нужно принимать и обрабатывать это файло со стороны.

Все равно, что shell-доступ без пароля.


"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено Аноним , 09-Май-16 02:41 
Можно назвать это photo.jpg, далее image magic при попытке сконвертировать казалось бы жыпег немного выполнит команды, не только свои но и системные.

"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено Аноним , 04-Май-16 13:47 
> а под автогенерированным(с сохранением расширения), а потом обработали imageMagick-ом, то серверу ничего не будет?

Нет, замены имени файла недостаточно.
>Кроме того, предлагается реализовать проверку поступающих на обработку изображений на предмет соответствия расширения файла и его идентификатора в заголовке файла (GIF - "47 49 46 38", JPEG - "FF D8" и т.п.).


"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено dgdsgfsadfgsdfgsdfg , 04-Май-16 10:08 
Навеяло kotyata.jpg.exe

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено бедный буратино , 04-Май-16 10:44 
ну, imagemagick мне бы в любом случае было бы страшно в веб пускать

уж лучше py-PIL / py-Pillow


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 10:54 
> уж лучше py-PIL / py-Pillow

который обвязка над  ImageMagick? (шутка)


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено бедный буратино , 04-Май-16 11:12 
Нет, он вообще никак не связан с imagemagick.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено playnet0 , 04-Май-16 13:11 
В pillow я за неделю зарепортил 3 серьезных бага, и еще пару не очень серьезных, которые хз как решать.

> ну, imagemagick мне бы в любом случае было бы страшно в веб
> пускать
> уж лучше py-PIL / py-Pillow


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено бедный буратино , 04-Май-16 13:19 
они позволяют выполнить произвольный код на системе?

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено playnet0 , 04-Май-16 13:23 
> они позволяют выполнить произвольный код на системе?

хз, там были ошибки обработки форматов, приводящие в том числе к некорректному изображению на выходе или даже сегфолту, но критичное поправлено уже с пол года как, если не больше.


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Pahanivo , 04-Май-16 15:20 
Вы по ходу вообще не одупляете о чем речь и путаете глюки с уязвимостями.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено igelko , 04-Май-16 16:08 
каждый сегфолт - это потенциальный проезд по памяти с дальнейшим RCE.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 05-Май-16 01:07 
Это же буратина, он вечно всякую херню к себе тащит.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 10:58 
> A file with an extension of .MVG is known as a Image Magick proprietary vector graphics format.

)))


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 10:59 
А GraphicsMagick подвержен?

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 11:12 
Да, там в delegate.c тот же system(command) используется, только через обёртку.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено vitalif , 04-Май-16 16:11 
НЕА!

$ gm convert exploit.mvg exploit.png
gm convert: Unrecognized color (url(https://example.com/image.jpg"|ls "-la)).


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено anonymous , 04-Май-16 11:15 
Мда. А ведь совсем недавно такой же баг выловили из ffmpeg

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 11:50 
ЕМНИП, выловили тоже мейлрушники.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Буратино , 04-Май-16 13:13 
Вот такой вот удочкой вестимо удили: grep -rw 'system'

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 11:29 
> для формата MVG можно указать 'url(http://example.com/)';

Странный CVE, это же штатная возможность, как она может быть багом?


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 11:38 
Security Circus

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 12:12 
Так вот чем thumbnail-ы в Linux создавать! Я всегда обходил стороной эту программу, потому что в моём первом дистре её криво собрали. А сейчас почитал описание, и оказалось что интересно! А им можно заменить GIMP?

Про новость. Эй, они что, запускают ImageMagick от root?


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 12:34 
На большинстве установок прав процесса сервера приложений вполне достаточно.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 12:44 
У gimp'а и IMM разные назначения. Эта фигня удобна в качестве "швейцарского ножа", для использования из консоли и скриптов. В качестве библиотеки оно несколько жирновато, обычно поддержки такого зоопарка экзотики не требуется.

А /etc/passwd можно прочитать от любого юзера.


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено playnet0 , 04-Май-16 13:21 
> А /etc/passwd можно прочитать от любого юзера.

И что с ним делать? Паролей там нет.
Список пользователей разве что, но эта инфа не вотпрям критична.


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 05-Май-16 01:11 
Там есть точное имя юзера (не надо угадывать), их список (можно подбирать пароль сразу для нескольких) и видно у кого есть валидный шелл. Кроме того, в geckos может быть полезная инфа, имя, фамилия, телефоны, ...

Не так уж и мало.


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено АнОНим , 05-Май-16 02:47 
Процессы запускаются от имени пользователя nginx или apache.

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 13:21 
а зачем запускать из-под рута? достаточно запустить от имени клиента хостинга, который владеет на нём рядом сайтов.

imagemagick удобен для обработки сразу множества изображений, если запускать его из sh в цикле или выполнить что-то вроде такого:
ls *.jpg | sed -r 's/^(.*)\.jpg$/convert "\1.jpg" -scale 60x60^ -gravity Center -crop 60x60+0+0 "thumb-\1.jpg"/;' | sh
(должно из всех *.jpg в данной директории создать thumb-*.jpg размером 60x60, содержащие центральную часть изображений).


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Возмущенная общественность , 05-Май-16 16:21 
>ls *.jpg | sed -r 's/^(.*)\.jpg$/c

a зачем когда есть православный find? ls дуба не даст в директории с мульоном джипежек?


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 06-Май-16 00:12 
>>ls *.jpg | sed -r 's/^(.*)\.jpg$/c
> a зачем когда есть православный find? ls дуба не даст в директории
> с мульоном джипежек?

Даст. 4 гига размер командной строки :)


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Andrey Mitrofanov , 06-Май-16 07:06 
>>ls *.jpg | sed -r 's/^(.*)\.jpg$/c
> a зачем когда есть православный find? ls дуба не даст в директории
> с мульоном джипежек?

Преждевременную замечаю я в тебе оптимизацию не к месту, молодой падаван. Светлая сторона find ничто рядом с мулионом жипижок в 1 директории. Не позволяй тобой Злу овладеть. Грустно видеть, г[o]невом затуманен взор твой.  >?<


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 13:05 
> которые запускаются при помощи функции system()

Так делать - признак дичайшего быдл_окода. Как это могли пропустить, код ревью где?


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 04-Май-16 20:31 
Справедливости ради желательно учитывать цели и юзкейзы самого проекта. А то с особо продвинутых "веб разработчиков" станется bash или перл с eval прикрутить и потом удивляться "дырам".

"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено playnet0 , 04-Май-16 13:26 
а что именно в полиси вписывать?

"Критическая уязвимость в библиотеке ImageMagick, используемо..."
Отправлено Аноним , 04-Май-16 13:50 
> а что именно в полиси вписывать?

С сайта в шапке https://imagetragick.com/

<policymap>
  <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" />
</policymap>


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено vitalif , 04-Май-16 14:19 
> Кроме того, предлагается реализовать проверку поступающих на обработку изображений на предмет соответствия расширения

Так это... кто вообще по расширению тип файла определяет? Это же кривожопие) libmagic (в php - fileinfo) на что дана?


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено scorry , 04-Май-16 18:41 
> ... кто вообще по расширению тип файла определяет?

Ты не поверишь...


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено vitalif , 04-Май-16 21:19 
"сержант, вы не поверите в то, что я сейчас вам скажу" - "не поверю" (грань будущего)

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Led , 04-Май-16 20:31 
> кто вообще по расширению тип файла определяет?

Ведузоеды.


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено vitalif , 04-Май-16 14:20 
нахрена они вообще что-то через system запускают, ё-моё

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Аноним , 06-Май-16 09:57 
Нахрена они вообще что-то запускают?

"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено Нанобот , 04-Май-16 14:42 
>обработчиков, которые запускаются при помощи функции system()

ССЗБ


"Критическая уязвимость в пакете ImageMagick,..."
Отправлено arisu , 05-Май-16 14:47 
ох… уберите уже детей из интернетов. и из разработки вообще.

это, если кто не понял, я не про imagemagick, а про дегенератов, которых в детстве не научили использовать вещи по назначению и не тянуть в рот что попало.


"Критическая уязвимость в пакете ImageMagick,..."
Отправлено Аноним , 09-Май-16 02:49 
> это, если кто не понял, я не про imagemagick, а про дегенератов,
> которых в детстве не научили использовать вещи по назначению и не тянуть в рот что попало.

System() интересная функция. Для грепания. В 90% случаев найдется или бэкдор или эксплойтабельная "фича".


"Критическая уязвимость в пакете ImageMagick, используемом на..."
Отправлено абвгдейка , 05-Май-16 21:37 
а главное никто не заметил - у мейлрушечного Karim Valiev почта на жимейле <valievkarim@...il.com> :)