Новая критическая уязвимость в GraphicsMagick и ImageMagick

Новая критическая уязвимость в GraphicsMagick и ImageMagick

Новая критическая уязвимость в GraphicsMagick и ImageMagick

В пакетах ImageMagick и GraphicsMagick выявлена ещё одна опасная уязвимость (CVE-2016-5118), позволяющая выполнить произвольные команды shell при обработке специально оформленного имени файла. Проблема связана с передачей в вызов popen имени файла.

Без его проверки на наличие спецсимволов, что позволяет использовать модификатор "|", отвечающий за ответвление процесса для создания канала ввода-вывода. Передав вместо имени файла аргумент "|имя" можно выполнить произвольный код, например:

   convert '|echo Hello > hello.txt;' null:

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

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

Проблема присутствует в функции OpenBlob() из состава blob.c. Не исключено, что кроме утилиты convert и обработчиков SVG/MVG, уязвимость может проявляться и в других областях применения GraphicsMagick и ImageMagick. В качестве решения проблемы рекомендуется отключить использование функции popen, убрав флаг HAVE_POPEN в файле magick/blob.c ("#undef HAVE_POPEN"). На момент написания новости исправление доступно лишь в виде патча. Обновления пакетов для дистрибутивов еще не сформированы: Debian, Ubuntu, RHEL/CentOS, SUSE, openSUSE, FreeBSD, Fedora. 

Подпишитесь на новости

Вредонос SC для WordPress восстанавливает удалённый бэкдор за секунды

Исследователи из Sucuri разобрали заражение WordPress вредоносом SC, который возвращает удалённый бэкдор за считаные секунды. Секрет живучести — минимум восемь взаимосвязанных точек закрепления. Удалили один компонент? Другой запишет его обратно.

SC прячется в настройках PHP, скрытых загрузчиках, файлах темы и плагинах. Часть компонентов запускается ещё до обычных плагинов WordPress. Поэтому чистка через админку здесь быстро превращается в бег по кругу.

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

Сам бэкдор скрывается из списка плагинов, собирает сведения о сайте и сессиях администраторов, может устанавливать дополнительный PHP-код и отключать защитные плагины. Внедряемый JavaScript способен использоваться для кражи платёжных данных в интернет-магазинах.

Команды SC получает через публичные Ethereum RPC-шлюзы и смарт-контракты. Один заблокированный адрес проблему не решает: у вредоноса предусмотрены альтернативные каналы.

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

Sucuri рекомендует сначала остановить выполнение вредоноса, затем убрать копии из базы и памяти, вредоносные задания и скрытые учётные записи, после чего очистить файлы и сменить скомпрометированные данные доступа.

RSS: Новости на портале Anti-Malware.ru