Независимый исследователь Крис Эванс (Chris Evans) рассказал в своем блоге, что компания Yahoo выплатила ему $14 000 за 18-байтный proof-of-concept эксплоит для 0-day уязвимости в ImageMagick.
Исследователь рассказывает, что назвал обнаруженную проблему Yahoobleed #1 (YB1), по аналогии с другими *bleed-уязвимостями (Heartbleed, Cloudbleed). Баг позволял похитить изображения из почты пользователей Yahoo, «достав» их с серверов компании.
Эванс объясняет, что *bleed-уязвимости, как правило, связаны с out-of-bounds, но в данная проблема, получившая идентификатор CESA-2017-0002, эксплуатирует неинициализированную область памяти. Так, неинициализированный буфер дешифровки изображений (uninitialized image decode buffer) используется в качестве основного инструмента для передачи изображений клиенту, а из-за бага происходит утечка памяти со стороны сервера. Исследователь подчеркивает, что эксплуатация такой уязвимости не вызывает «падения» сервера и может быть более скрытной, в сравнении с out-of-bounds багами.
В качестве демонстрации проблемы, специалист отправил сам себе 18-байтный proof-of-concept эксплоит, приложив его к письму. Открыв данное послание в почте Yahoo, Эванс кликнул на превью изображения, чтобы активировать область предварительного просмотра. «В результате, доставленное моему браузеру JPEG-изображение содержало контент из неинициализированной, то есть previously freed области памяти», — пишет Эванс.
Компания Yahoo не только решила выплатить исследователю вознаграждение в размере $14 000 (а когда Эванс сообщил, что потратит весь свой приз на благотворительность, сумма была увеличена вдвое, то есть до $28 000), но и приняла решение отказаться от использования ImageMagick вообще.
Баг в ImageMagick, тем не менее, был устранен, так как еще два месяца назад эксперт сообщил об уязвимости разработчикам и представил однострочный патч, решающий проблему.