Несколько часов назад Ryan Huber (занимается безопасностью в Slack) анонсировал некую критическую уязвимость в софте, используемом множеством сайтов. Этим софтом оказался ImageMagick — популярный пакет для обработки изображений.
Краткая информация об уязвимостях размещена на сайте imagetragick.com. Да, без названия и сайта для уязвимости не обошлось и в этот раз, хотя изначально Райан писал, что никакого пафоса, включая название и сайт, не будет.
Уязвимость была обнаружена stewie и раскрыта на hackerone 21 апреля в репорте, по всей видимости, Mail.ru, ибо примерно через неделю после этого Николай Ермишкин из команды безопасности Мэйла нашёл возможность выполнить RCE. Обо всём этом, само собой, сообщили команде разработки IM. Те 30 апреля выпустили фикс, но уже 1 мая им сообщили, что фикс немножко не фикс. Поэтому 2 мая уязвимость раскрыли в листе рассылки разработчиков пакетов, основанных на IM, а 3 мая уязвимость раскрыли публично. Спустя несколько часов после этого на openwall появилось подробное описание с примерами эксплойтов. Но об этом чуть ниже.
Прежде всего, стоит заметить, что ваш сайт (вероятно) подвержен этим уязвимостям не только если вы используете IM напрямую, но и через различные пакеты, включая imagick в PHP, rmagick и paperclip в Ruby и imagemagick в nodejs.
Как защититься?
Для того, чтобы хоть как-то защититься, предлагается сделать хотя бы одну из двух следующих вещей (а лучше — обе).
- прежде, чем отправить изображение на обработку в IM, проверить его «магические байты» — последовательность байт, по которой программы определяют формат файла. Да, расширение может не играть никакой роли, так как IM сам определяет формат именно по этой последовательности.
- включить конфиг, отключающий подверженные уязвимостям декодеры. Файл должен выглядеть примерно так
<policymap> <policy domain="coder" rights="none" pattern="EPHEMERAL" /> <policy domain="coder" rights="none" pattern="URL" /> <policy domain="coder" rights="none" pattern="HTTPS" /> <policy domain="coder" rights="none" pattern="MVG" /> <policy domain="coder" rights="none" pattern="MSL" /> </policymap>
Конфиги для IM обычно лежат в /etc/ImageMagick
.
Как уже говорилось выше, патч к IM уже готов, но он неполный. Дело в том, что, как отмечают исследователи, уязвимость была найдена хакерами ранее и уже вовсю эксплуатируется.
Пост будет дополняться с появлением новых подробностей.
ссылка на оригинал статьи https://habrahabr.ru/post/282896/
Добавить комментарий