Уязвимости веб-почты позволяют красть пароли через HTML и CSS

vulnerability

Исследователь безопасности Гаррет Хейс из PortSwigger представил техники атак на веб-почту, использующие HTML и CSS - технологии форматирования писем. С их помощью злоумышленник может манипулировать интерфейсом почтового клиента, похищать данные аутентификации и в некоторых случаях перехватывать пароли. Проблемы затрагивают Outlook, Gmail, Fastmail, Yahoo Mail, AOL Mail и Proton Mail.

Детали

Веб-сервисы обязаны отображать HTML, который контролирует отправитель, не ставя под угрозу безопасность приложения. Для этого провайдеры фильтруют разметку и ограничивают свойства CSS. Однако Хейс обнаружил, что расхождения между тем, как фильтр интерпретирует CSS, и тем, как браузер его рендерит, создают эксплуатируемые уязвимости. Кроме того, продукты, обрабатывающие CSS через объектную модель CSS (CSSOM), могут быть подвержены мутациям: безопасный на входе код реконструируется в опасный синтаксис.

Один из классов атак использует CSS-селекторы для проверки фрагментов чувствительных значений, встроенных в ссылки или элементы страницы. При совпадении браузер отправляет фоновый запрос на внешний сервер, что позволяет атакующему восстановить части токена. В исследовании эта концепция продемонстрирована на ссылках для входа по электронной почте. Отмечается, что атака может затронуть короткие шестнадцатеричные токены при определённых условиях.

Другой сценарий начинается, когда жертва вставляет вредоносное форматированное содержимое в черновик письма. Хейс описывает состояние гонки при обработке вставки в Yahoo Mail и AOL Mail. Если злоумышленнику удастся убедить жертву вставить специально подготовленное содержимое буфера обмена, он сможет получить доступ к конфиденциальному токену входа, содержащемуся в черновике.

Также исследователь рассмотрел обход прокси-серверов для изображений. Такие прокси призваны скрывать IP-адрес получателя и не позволять отправителю определять, когда было прочитано письмо. Ошибки в разборе CSS и сбои фильтрации могут приводить к генерации внешних запросов, ослабляя эти меры защиты. В частности, уязвимость во Fastmail позволяла отслеживать факт просмотра письма через разрешённый домен, а в Proton Mail исследователь смог отобразить IP-адрес жертвы в письме. Proton Mail сначала не признал проблему, но позднее исправил её.

Наиболее серьёзные демонстрации сочетают слабости фильтров с поведением доверенного интерфейса. В Outlook разрешённые HTML-метки потенциально могут быть связаны с элементами управления формы по идентификатору, что позволяет письму инициировать действия в интерфейсе. Эта проблема сохраняется на момент публикации. Хейс также выявил "CSS-гаджеты" - когда встроенный JavaScript добавляет элементы или стилевые поведения, не учтённые списком разрешений. Атакующий может использовать их для наложения на интерфейс почты поддельных элементов. В Outlook такой гаджет позволил исследователю полностью подменить интерфейс и создать поддельный экран входа.

Особое внимание уделено краже паролей. Хейс отмечает, что многие известные CSS-кейлоггеры не работают, потому что при вводе меняется динамическое значение поля, а не его HTML-атрибут. Вместо этого доказательство концепции опирается на особенности работы браузера с выпадающими списками. Используя только CSS и разрешённые элементы, исследователь создал клавиатурный шпион, который перехватывает вводимые символы. В Firefox такой кейлоггер работает в реальном времени за счёт скрытого перемещения элемента выбора.

Реакция провайдеров на проблемы оказалась неоднородной. Часть уязвимостей была устранена после уведомления. Например, во Fastmail исправили две ошибки мутации CSSOM, и исследователь получил за них вознаграждение. В Gmail проблема с возможностью инициировать удалённые запросы через CSS осталась нерешённой: сотрудники службы поддержки не признали её уязвимостью. Аналогично, UI-дефект в Outlook не был исправлен.

В качестве мер защиты исследователь рекомендует провайдерам рассматривать HTML и CSS в письмах как потенциально враждебный контент. Необходимо внедрить строгие списки разрешённых CSS-свойств, надёжный разбор URL, изоляцию недоверенного содержимого от доверенных интерфейсов и повторную проверку вывода CSSOM перед повторным использованием. Пользователям стоит избегать вставки в черновики содержимого из ненадёжных источников, с осторожностью относиться к неожиданным запросам входа внутри веб-почты и применять многофакторную аутентификацию, устойчивую к фишингу.

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

Ссылки

Комментарии: 0