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

Python-пакет pyronut превращает Telegram-ботов в точку входа для атакующих

В репозитории PyPI обнаружили вредоносный Python-пакет pyronut, который маскировался под библиотеку для работы с Telegram и превращал ботов в удобную точку входа для атакующих. Исследователи из Endor Labs пишут, что пакет выдавал себя за альтернативу популярному Pyrogram — фреймворку для Telegram MTProto API, который используется довольно широко.

Схема была не совсем классическим тайпсквоттингом: названия pyrogram и pyronut не так уж похожи.

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

Дополнительный красный флаг — автор скопировал описание легитимного проекта почти слово в слово, а в качестве исходного репозитория указал несуществующий GitHub-адрес.

Пакет прожил недолго, но этого вполне хватило. На PyPI успели появиться только три версии — 2.0.184, 2.0.185 и 2.0.186, обе были вредоносными. По данным исследователей, их обнаружили и отправили в карантин 18 марта 2026 года, так что окно заражения оказалось сравнительно коротким.

Особенно неприятно то, как именно работал pyronut. В отличие от многих зловредных пакетов, которые срабатывают ещё во время установки, здесь полезная нагрузка активировалась только при запуске Telegram.

Злоумышленник модифицировал метод Client.start() так, чтобы тот незаметно подтягивал скрытый модуль и запускал бэкдор, при этом все ошибки молча подавлялись, а приложение со стороны выглядело нормально.

Дальше начиналось самое интересное. Бэкдор регистрировал скрытые обработчики команд /e и /shell, которые принимались только от двух заранее зашитых Telegram-аккаунтов атакующего.

Команда /e фактически превращала заражённого бота в удалённую Python-консоль с доступом к объектам клиента, чатам, контактам, истории сообщений и низкоуровневым API Telegram. А /shell давала уже более привычный доступ к системе: произвольные команды передавались в /bin/bash -c, а результаты возвращались злоумышленнику через сам Telegram.

Если такой пакет попадал в рабочее окружение, атакующий получал сразу два бонуса: контроль над сессией в Telegram и возможность выполнять команды на самом хосте, где крутится Python-процесс. А это уже дорога к краже токенов, ключей, файлов конфигурации и дальнейшему закреплению в инфраструктуре.

Специалисты рекомендуют проверить зависимости на наличие pyronut этих версий, посмотреть, не подтягивалась ли библиотека meval, и отдельно поискать подозрительные дочерние процессы вида /bin/bash -c, запущенные из Python-приложений. Если пакет всё же оказался в окружении, исследователи советуют отзывать Telegram-сессии, перевыпускать токены ботов и менять все потенциально засвеченные секреты.

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