Исследователь заработал $10 000, обнаружив XSS-уязвимость в почте Yahoo!

Исследователь заработал $10 000, обнаружив XSS-уязвимость в почте Yahoo!

Исследователь заработал $10 000, обнаружив XSS-уязвимость в почте Yahoo!

Сотрудник финской компании Klikki Oy Йоуко Пюннёнен (Jouko Pynnönen) обнаружил XSS-уязвимость в веб-интерфейсе почтового сервиса Yahoo. Баг позволял злоумышленнику отправить жертве письмо, содержащее скрытый вредоносный код, который исполнялся сразу же, как только жертва читала послание.

Пюннёнен нашел уязвимость в конце декабря и немедленно сообщил о проблеме представителям Yahoo. Баг оказался серьезным: при работе с веб-интерфейсом почтовый фильтр Yahoo! Mail функционировал некорректно, допуская внедрение вредоносного кода в HTML-письма. Данный XSS-баг не требует манипуляций с URL, что довольно нетипично для подобных уязвимостей. Исследователь заметил, что фильтр удаляет значения булевых атрибутов, но сам атрибут и последующий знак равенства при этом сохраняются. А значит, фильтр можно обмануть, пишет xakep.ru.

К примеру, если вставить в письмо изображение, используя тег <IMG>, а также применить атрибут «ismap», можно добиться выполнения произвольного JavaScript кода.

Yahoo! Mail трансформирует этот код таким образом, что когда жертва откроет письмо, код в атрибуте «onmouseover» будет выполнен без участия пользователя.

Исследователь представил proof-of-concept видео, где привел несколько возможных примеров эксплуатации уязвимости. Можно не только вставить в HTML-сообщение «невидимый» код. К примеру, можно внедрить вредоносный код в чужую подпись, создав таким образом распространяющего самостоятельно червя, который продолжит вставлять себя в подписи следующих жертв.

Пюннёнен проинформировал компанию о проблеме 26 декабря 2015 года, и 6 января 2016 года баг был устранен. Теперь знак равенства тоже удаляется фильтром, так что код из примера выше будет выглядеть следующим образом.

За эту XSS-уязвимость Yahoo выплатила исследователю $10 000, и это одно из самых крупных вознаграждений за всю историю существования bug bounty программы Yahoo. Представители компании подчеркнули, что данная уязвимость, ее последующий обзор, а также действия, оперативно предпринятые командной разработчиков Yahoo, являются идеальным примером того, зачем нужны программы вознаграждений за баги и как они должны работать.

Закрытые аккаунты Instagram раскрывали фото без аутентификации

Исследователь по кибербезопасности обнаружил странную и довольно неприятную уязвимость в Instagram (принадлежит Meta, признанной экстремистской организацией и запрещённой на территории РФ): в ряде случаев закрытые профили сливали фотографии, которые оказывались доступны без аутентификации.

Речь идёт о приватных аккаунтах, контент которых по идее должны видеть только одобренные подписчики.

В обычной ситуации неаутентифицированный пользователь видит стандартное сообщение «Этот аккаунт закрыт».

 

Но, как показало исследование, при заходе с некоторых мобильных устройств сервер Instagram всё равно возвращал в HTML-ответе ссылки на фотографии и подписи к ним — просто «прятал» их в коде страницы.

 

Об этом рассказал исследователь Джатин Банга. Он показал, что в HTML закрытых профилей появлялся объект polaris_timeline_connection, внутри которого были закодированные CDN-ссылки на изображения, доступ к которым не должен был открываться. Банга опубликовал видеодоказательство и репозиторий с подробным разбором, а также переписку с Meta (признана экстремистской организацией и запрещённой на территории РФ).

По его словам, он тестировал проблему только на собственных закрытых аккаунтах или профилях, на которые у него были права. Даже в таком ограниченном наборе около 28% профилей возвращали подписи и ссылки на закрытые фото. То есть это был не единичный сбой, а вполне воспроизводимая история — при определённых условиях и заголовках запроса.

Meta сначала назвала происходящее проблемой кеширования CDN, но Банга с этим не согласился и настаивал, что речь идёт о серверной ошибке аутентификации: бэкенд просто не проверял права доступа перед формированием ответа. Он подал повторный отчёт, однако после нескольких дней обсуждений баг был закрыт со статусом «неприменимо».

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