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

Исходное сообщение
"Новая критическая уязвимость в GraphicsMagick и ImageMagick"

Отправлено opennews , 30-Май-16 10:39 
В пакетах ImageMagick (http://www.imagemagick.org/) и GraphicsMagick (http://www.graphicsmagick.org/) выявлена ещё одна опасная уязвимость (http://seclists.org/oss-sec/2016/q2/432) (CVE-2016-5118), позволяющая выполнить произвольные команды shell при обработке специально оформленного имени файла. Проблема связана с передачей в вызов popen имени файла, без его проверки на наличие спецсимволов, что позволяет использовать модификатор "|", отвечающий за  ответвление процесса для создания канала ввода-вода. Передав вместо имени файла аргумент "|имя" можно выполнить произвольный код, например:


<font color="#461b7e">
   convert '|echo Hello > hello.txt;' null:
</font>

Кроме эксплуатации приложений,  для преобразования форматов изображений вызывающих утилиту convert, атака может быть проведена при обработке специально оформленных SVG- или MVG-файлов, в которых вместо ссылки на изображение может применяться конструкция:

<font color="#461b7e">

SVG:

   xlink:href="|echo Hello > hello.txt; cat /usr/lib/firefox/browser/icons/mozicon128.png"

MVG:

  push graphic-context
  viewbox 0 0 640 480
  image copy 200,200 100,100 "|echo Hello > hello.txt; cat /usr/lib/firefox/browser/icons/mozicon128.png"
  pop graphic-context

</font>

Проблема присутствует в функции OpenBlob() из состава blob.c. Не исключено, что кроме утилиты convert и обработчиков SVG/MVG, уязвимость может проявляться и в других областях применения GraphicsMagick и ImageMagick. В качестве решения проблемы рекомендуется отключить использование функции popen, убрав флаг HAVE_POPEN в файле magick/blob.c ("#undef HAVE_POPEN"). На момент написания новости исправление доступно лишь в виде патча (http://seclists.org/oss-sec/2016/q2/att-432/disable-popen-fi...). Обновления пакетов для дистрибутивов еще не сформированы: Debian (https://security-tracker.debian.org/tracker/CVE-2016-5118), Ubuntu (https://people.canonical.com/~ubuntu-security/cve/2016/CVE-2...), RHEL/CentOS (https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-5118), SUSE (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2016-5118), 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...).

URL: http://seclists.org/oss-sec/2016/q2/432
Новость: http://www.opennet.ru/opennews/art.shtml?num=44511


Содержание

Сообщения в этом обсуждении
"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Какаянахренразница , 30-Май-16 10:39 
Вот жеж зараза...

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 10:53 
Никогда такого не было, и вот опять

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Stellarwind , 31-Май-16 12:17 
Точно те же самые проблемы уже давным давно находили вроде в mplayer/mencoder, но авторы упорно продолжают ходить по граблям. Только там еще с плейлистами проблемы были.

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено омномнимус , 30-Май-16 11:17 
> popen имени файла, без его проверки на наличие спецсимволов

говнокод, как он есть.


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Андрей , 30-Май-16 11:23 
От этих пакетов никто особенно не зависит:

$ pactree -r -d 5 graphicsmagick
graphicsmagick
└─pdf2djvu
$ pactree -r -d 5 imagemagick
imagemagick
├─cups-filters
│ └─cups
│   └─cups-pdf
├─emacs
├─inkscape
└─pstoedit
  └─calligra-karbon


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено й , 30-Май-16 11:48 
на вашем локалхосте -- возможно.

imagemagick активно используют веб-приложения, тот же redmine.


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 11:56 
В redmine недели две назад добавили дополнительную защиту: https://github.com/redmine/redmine/commit/bf81c96b79cc80bc4f...

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено й , 30-Май-16 13:03 
и как она защитит от malformed svg, как в новости?

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 12:19 
Сервера активно используют их для конвертации, ресайза, обрезки и т.д. картинок, в том числе на лету.

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Какаянахренразница , 30-Май-16 12:26 
> От этих пакетов никто особенно не зависит:

php5-imagick зависит. А он на многих веб-серверах используется.


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 31-Май-16 18:16 
На одном известном порносайте-галерее с самописным движком через предыдущую дыру в ImageMagic украли исходный код движка и базу пользователей с хешами паролей. Через имя файла тоже можно запустить tar+xz+curl, чтобы упаковать всё интересное и загрузить на сервер злоумышленника.

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Сергей , 30-Май-16 11:26 
С другой стороны, подобная уязвимость может существовать и в других пакетах...

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Какаянахренразница , 30-Май-16 12:18 
> С другой стороны, подобная уязвимость может существовать и в других пакетах...

Избушка-избушка, повернись к лесу передом, ко мне задом. Возможно, с другой стороны у тебя существует уязвимость.


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 12:21 
Старый workaround подходит ( https://slashdot.org/comments.pl?sid=9074795&cid=52061711 ), как я полагаю.

// b.


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено тоже Аноним , 30-Май-16 13:07 
А, собственно, какая из этих строчек прикроет дырку в SVG?

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 13:46 
<policy domain="coder" rights="none" pattern="URL" />

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 13:41 
Критическая статья бывает, а уязвимость критичная

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 15:07 
Ежели хотел ум свой показать, так у тебя не вышло: под новостью кнопка "исправить" есть. Специально для таких случаев, прикинь?

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 13:46 
...и этот патч делает #undef HAVE_POPEN? Да уж, исправление так исправление.

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено chinarulezzz , 30-Май-16 15:23 

┌─[ ~ ]
└─$ gm convert '|echo Hello > hello.txt;' null:
gm convert: Unable to open file (/tmp/gmszBE6e) [Нет такого файла или каталога].

Что не так?!


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 15:43 
Меня тоже держите в курсе :D

$ convert '|echo Hello > hello.txt;' null:
convert: no decode delegate for this image format `TXT;' @ error/constitute.c/ReadImage/501.
convert: no images defined `null:' @ error/convert.c/ConvertImageCommand/3210.

Debian GNU/Linux 8.4 (jessie)

$ convert --version
Version: ImageMagick 6.8.9-9 Q16 x86_64 2016-05-16


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено chinarulezzz , 30-Май-16 15:50 
> Меня тоже держите в курсе :D

ааа, тупанул) проверил hello.txt, всё как и ожидалось.


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено омномнимус , 30-Май-16 15:46 

$ convert '|echo Hello > hello.txt;' null:
convert.im6: no decode delegate for this image format `/tmp/magick-cAeKOHK7' @ error/constitute.c/ReadImage/544.
convert.im6: no images defined `null:' @ error/convert.c/ConvertImageCommand/3044.
$ cat hello.txt
Hello
$ convert -version
Version: ImageMagick 6.7.7-10 2014-03-06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP    


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 30-Май-16 15:50 
$ cat hello.txt
cat: hello.txt: Нет такого файла или каталога

ЧЯДНТ?


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено омномнимус , 30-Май-16 16:16 
телепаты в отпуске

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Нанобот , 30-Май-16 15:52 
>Что не так?!

всё так, файл hello.txt создаётся


"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Кто тут , 31-Май-16 08:51 
Выводится ошибка, но файл создается. Установил mc через imagemagic. Полет нормальный.

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 31-Май-16 09:17 
«... в вызов popen...» — главное, дальше можно не читать. Интересно, Тео же Раадт и компания рискнут убрать popen из libc?..

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Led , 31-Май-16 22:23 
> Интересно, Тео же Раадт и компания рискнут убрать popen из libc?..

Пусть они сначала сами вылезут из popen.



"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Alexey G , 31-Май-16 21:40 
http://git.imagemagick.org/repos/ImageMagick/commit/ca430ff7...

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено ano , 01-Июн-16 23:18 
больше уязвимостей, хороших и разных

"Новая критическая уязвимость в GraphicsMagick и ImageMagick"
Отправлено Аноним , 02-Июн-16 02:05 
такая конструкция хорошо работает: convert '|echo Hello > hello.txt;' null:

А как создать SVG файл? Что-то не получается