Новая критическая уязвимость в 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. 

Linux вдохнул новую жизнь в видеокарты AMD 2011–2013 годов

Старые видеокарты AMD получили неожиданно хорошие новости из мира Linux. В ближайшей версии ядра Linux 6.19, выход которой ожидается в феврале 2026 года, появится полноценная поддержка графических процессоров на архитектурах GCN 1.0 и 1.1 — тех самых, что дебютировали ещё в 2011–2013 годах.

Речь идёт о поколениях Southern Islands и Sea Islands, знакомых по таким моделям, как Radeon HD 7970, HD 7950, а также Radeon R9 290 и 290X.

До сих пор владельцы этих видеокарт были вынуждены мириться с ограничениями: современный драйверный стек AMDGPU официально поддерживал только GCN 1.2 и более новые архитектуры. Старые GPU оставались за бортом всех свежих оптимизаций.

Ситуацию удалось изменить благодаря работе Тимура Кристофа и команды Valve, которая активно участвует в развитии графического стека для Linux. В результате для GCN 1.0 и 1.1 подготовили новые открытые драйверы, которые теперь планируется включить в основную ветку ядра.

И это не просто «поддержка для галочки». По тестам Phoronix, перевод Radeon HD 7950 на новый драйверный стек даёт прирост производительности до 30%. Особенно заметен эффект в старых OpenGL-играх, где оптимизации оказываются наиболее эффективными.

Одна из ключевых причин такого прироста — полноценная поддержка Vulkan-драйвера RADV из Mesa. Ранее владельцы старых карт были фактически лишены преимуществ современного графического стека, а теперь получают более быстрый и стабильный рендеринг.

Разумеется, ждать чудес не стоит: видеокарты 12–14-летней давности не станут внезапно пригодными для современных AAA-проектов. Но для повседневной работы, старых игр и просто более плавного интерфейса улучшения будут вполне ощутимыми.

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