Как баг в Google Docs позволял красть скриншоты чужих документов

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

Где скрывалась проблема

Во всех продуктах Google есть функция «Отправить отзыв» (Send Feedback). Она нужна, чтобы пользователь мог сообщить о проблеме, и позволяет приложить к сообщению скриншот с кратким описанием ситуации.

Технически этот инструмент живёт на основном домене Google — google.com. В остальные сервисы он встраивается через элемент iframe, содержимое всплывающего окна подгружается с домена feedback.googleusercontent.com с помощью механизма PostMessage.

Как это работает изнутри

Чтобы отправить отзыв из Google Docs, пользователь заходит в меню «Справка» → «Отправить отзыв». В этот момент всплывает iframe, который автоматически делает скриншот документа, с которым человек сейчас работает.

Сам по себе процесс устроен сложнее, чем интерфейс Google Docs: где-то в цепочке должна происходить кросс-доменная передача данных, чтобы скриншот в итоге корректно дошёл до формы обратной связи. Именно на этом стыке и обнаружилась брешь.

Находка исследователя

Разбираясь в механике функции, исследователь по имени Sreeram искал XSS-уязвимость в песочнице feedback.googleusercontent.com. Поначалу найти её не удавалось. Спустя неделю он наткнулся в своей ленте Twitter на видео пользователя под ником filedescriptor — и оно подсказало нужный приём.

Суть трюка в том, что можно изменить положение iframe, отображаемого в кросс-доменном контексте. Через XSS в песочнице становится возможным перехватить RGB-значения пикселей, а затем воспроизвести изображение и фактически получить скриншот. Тот же приём мог использовать и злоумышленник: встроив вредоносный сайт в нужную схему, он был способен увести снимок конфиденциального документа жертвы.

Уязвимость наглядно показывает, насколько тонкими бывают границы безопасности при кросс-доменном взаимодействии — даже во внешне безобидной функции вроде отправки отзыва.

Источник: Cybersecurity News.