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

Шифрование не делает VPN невидимым: как сети распознают защищённый трафик

Пользователь Хабра под ником mr_tom объяснил, почему зашифрованное VPN-соединение всё равно можно обнаружить и заблокировать. Содержимое туннеля остаётся недоступным наблюдателю, но само соединение продолжает оставлять вполне заметные следы. Система фильтрации может видеть IP-адрес сервера, порт, транспорт, особенности начала обмена, размеры пакетов, интервалы между ними и поведение потока во времени.

Прочитать переписку она не способна, зато определить, на что похож трафик, — вполне. Шифрование надевает на данные броню, но не выдаёт им плащ-невидимку.

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

 

Дополнительным инструментом становится active probing. Если конечная точка кажется подозрительной, система сама подключается к серверу и изучает его ответ. Поэтому значение имеет не только поведение трафика пользователя, но и реакция серверной стороны на посторонние запросы.

Автор отдельно разбирает популярную связку VLESS, XHTTP и REALITY. Называть её тремя VPN-протоколами некорректно: компоненты работают на разных уровнях. VLESS задаёт логику взаимодействия клиента и сервера, XHTTP отвечает за транспорт, а REALITY — за защиту транспортного соединения и внешний TLS-профиль.

Использование порта 443 тоже не превращает любой VPN в обычный HTTPS. Классификатор может учитывать рукопожатие и последующее поведение потока, а не только номер порта.

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

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