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

Chrome на Android разрешил делиться с сайтами только примерной геолокацией

Google добавила в Chrome для Android новую настройку конфиденциальности: теперь сайтам можно передавать не точную, а примерную геолокацию. Это удобно для случаев, когда сервису не нужен ваш конкретный адрес или координаты до улицы.

Раньше всё было жёстче: если сайт просил доступ к местоположению, пользователь фактически делился точными данными. Даже если речь шла о простых вещах вроде прогноза погоды, местных новостей или регионального контента.

Теперь Chrome позволит выбрать более мягкий вариант — показать сайту только приблизительный район. По словам менеджера продукта Chrome Арчита Агарвала, это должно дать пользователям больше контроля над тем, какими данными они делятся.

 

Точная геолокация будет также доступна. Она действительно нужна, например, при заказе еды, вызове такси или поиске ближайшего банкомата. Но для обычного просмотра сайтов часто достаточно примерного местоположения.

Пока функция доступна только в Chrome на Android. В дальнейшем Google планирует добавить такую возможность и в настольную версию браузера.

Изменение затронет и разработчиков сайтов. Google готовит новые API, которые позволят запрашивать именно примерную геолокацию или явно указывать, что сервису требуется точная. Компанию также призывает разработчиков не требовать координаты без реальной необходимости.

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