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

Почему в России не заблокировали iMessage? Могут сломаться уведомления

После того как в России запретили FaceTime, многие удивились: а почему под запрет не попал iMessage? Оба сервиса со сквозным шифрованием, оба не дают властям читать переписку или перехватывать звонки. На первый взгляд — идеальные кандидаты для блокировки. Но iMessage остался нетронутым.

Теперь всплыла любопытная версия, объясняющая, почему запрет этой службы может оказаться куда сложнее, чем кажется.

Напомним, Роскомнадзор объявил о блокировке FaceTime под предлогом «противодействия терроризму». Но почти сразу возник резонный вопрос: почему тогда не ограничили iMessage, который также полностью зашифрован?

Первая гипотеза была проста: в России iMessage почти никто не использует, поэтому блокировать его смысла нет. Но есть версия поинтереснее.

Исследователь Джон Грубер поднял эту тему, и в обсуждение включился пользователь Mastodon под ником Magebarf. Он напомнил, что трафик iMessage проходит по тем же серверам, что и пуш-уведомления Apple.

Иными словами, если кто-то попытается заблокировать iMessage, то заодно сломает доставку всех пуш-уведомлений на iPhone в стране. А это уже удар не по отдельному сервису, а по всей экосистеме Apple.

Считается, что Apple намеренно построила архитектуру так, чтобы операторы не могли избирательно блокировать iMessage — ведь когда-то СМС приносили им большие деньги, и им могло не понравиться, что люди вдруг начинают переписываться бесплатно.

Magebarf привёл интересный пример: если подключиться в самолёте к тарифу «только для сообщений», доступ к интернету там фактически ограничен, но пуш-уведомления продолжают приходить. Это, по его мнению, подтверждает объединение этих сервисов в единый канал.

Если версия верна, то заблокировать iMessage в стране — означает выключить уведомления у всех iPhone. Это технически возможно, но ударит по пользователям настолько сильно, что последствия могут быть уже политическими и экономическими.

Так что ответ на вопрос «почему Россия не забанила iMessage» может быть крайне прозаичным: потому что это почти невозможно сделать, не вызвав хаос в экосистеме Apple.

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