Mastodon Mastodon Mastodon Mastodon

Уязвимость в Opera GX позволяла красть Gmail-адреса через скрытую установку модов и универсальную CSS-инъекцию

Фото автора

CyberSecureFox Editorial Team

Опубликовано:

Opera устранила критическую уязвимость в механизме GX Mods своего игрового браузера Opera GX, которая позволяла вредоносному сайту без единого клика пользователя установить браузерный мод и затем извлекать конфиденциальные данные — включая адрес электронной почты Gmail — со страниц, которые жертва посещает. Исправление вошло в версию 130.0.5847.89; идентификатор CVE не присвоен. По данным официального бюллетеня Opera, свидетельств эксплуатации уязвимости в реальных атаках не обнаружено, однако публичный PoC-эксплойт доступен. Пользователям Opera GX необходимо убедиться, что их версия браузера актуальна, проверив её на странице opera://about.

Механизм атаки: от автоустановки мода до утечки данных

GX Mods — это система кастомизации Opera GX, позволяющая менять темы, звуки, обои и CSS-стили посещаемых сайтов. Моды распространяются в формате .crx (аналогично расширениям), но, по данным исследователей, не могут выполнять JavaScript и не запрашивают разрешений. Ключевая проблема заключалась в конвейере установки: Opera автоматически загружала и активировала мод без запроса подтверждения у пользователя.

Как описывают исследователи из Zhero Web Security, вредоносная страница могла инициировать установку мода через скрытый iframe, указывающий на .crx-файл. Единственным визуальным индикатором была панель уведомлений под адресной строкой с кнопкой «Удалить», однако атака завершалась за секунды — до того, как пользователь успевал прочитать уведомление.

Само по себе внедрение «косметического» мода выглядит безобидным, но критический нюанс состоит в том, что CSS мода применяется ко всем посещаемым страницам, а не только к одной. Исследователи назвали это универсальной CSS-инъекцией — в отличие от обычной CSS-инъекции, ограниченной рамками конкретной страницы. Эта концепция расширяет ранее задокументированные техники, такие как Blind CSS Exfiltration от PortSwigger, где CSS-эксфильтрация остаётся в пределах одного сайта.

Техника XS-Leak: посимвольное извлечение данных через CSS

CSS не может напрямую прочитать содержимое страницы и отправить его на внешний сервер. Однако, по данным исследователей, с помощью CSS-селекторов атрибутов можно проверять, начинается ли значение атрибута HTML-элемента с определённой последовательности символов, и при совпадении загружать фоновое изображение с сервера атакующего. Перебирая все возможные комбинации, злоумышленник восстанавливает значение посимвольно — классическая техника XS-Leak (cross-site leak).

Для демонстрации исследователи нацелились на страницу myaccount.google.com/contactemail, где адрес электронной почты присутствует в трёх HTML-атрибутах. Мод содержал порядка 150 000 CSS-правил, покрывающих все возможные трёхсимвольные фрагменты (триграммы) адреса. Скрипт на стороне атакующего собирал совпадения и восстанавливал полный адрес. Примечательно, что первоначальная попытка с четырёхсимвольными фрагментами потребовала около 5,6 млн правил и ~880 МБ CSS, что привело к отказу браузера.

Цепочка атаки выглядела так: жертва попадает на вредоносную страницу → мод устанавливается за секунды → JavaScript перенаправляет браузер на страницу Google-аккаунта → CSS мода уже активен и при рендеринге страницы отправляет запросы на сервер атакующего. Весь процесс не требовал ни одного клика.

Предыстория: проигнорированное предупреждение 2023 года

Автоматическая установка модов без подтверждения не была новой проблемой. Как описал исследователь Renwa ещё в 2023 году, эту же особенность можно было использовать для эскалации установленного мода до полноценного расширения и подмены адресной строки браузера. Opera устранила конкретный вектор подмены адресной строки, но, по имеющимся данным, оставила базовый механизм автоустановки без изменений — именно на нём построена новая атака.

Дополнительная уязвимость: аварийное завершение в приватном режиме

Исследователи также задокументировали второй, более грубый вектор: загрузка .crx-файла в приватном (Incognito) режиме приводила к аварийному завершению браузера с потерей всех открытых вкладок. По данным исследователей, эта проблема затрагивала не только Opera GX, но и обычный Opera, поскольку любой .crx-файл активировал конвейер установки расширений. Стоит отметить, что бюллетень безопасности Opera не упоминает эту проблему, и независимое подтверждение её воздействия на обычный Opera в доступных источниках отсутствует.

Процесс раскрытия и оценка серьёзности

По данным исследователей, процесс раскрытия через платформу Bugcrowd прошёл не гладко: аналитики триажа первоначально оценили уязвимость как P3 (средняя серьёзность). Чтобы продемонстрировать реальный масштаб угрозы, исследователи перехватили триграммы самого аналитика, восстановили его Gmail-адрес и вставили его в отчёт. После этого рейтинг был повышен до P1 (максимальная серьёзность), а исследователям, как сообщается, была выплачена максимальная награда в размере 5 000 долларов.

Opera в своём бюллетене характеризует атаку как сложную в реализации: жертва должна была попасть на вредоносный сайт, получить установленный мод и не успеть нажать кнопку удаления до завершения перенаправления. Однако демонстрация исследователей показывает, что перенаправление срабатывало за секунды — быстрее, чем пользователь мог прочитать уведомление.

Оценка воздействия

Уязвимость затрагивала пользователей Opera GX версий до 130.0.5847.89. Хотя доказанный PoC извлекал только Gmail-адрес, исследователи указывают, что тот же подход применим к любым значениям, которые сайт размещает в HTML-атрибутах — именам пользователей, идентификаторам и другим данным. Аудитория Opera GX ориентирована на геймеров, активно использующих моды и кастомизацию, что делает социальную инженерию для привлечения на вредоносную страницу потенциально более эффективной.

Рекомендации

  • Обновите Opera GX до версии 130.0.5847.89 или новее. Проверьте текущую версию на странице opera://about.
  • Проверьте список установленных модов — удалите любые незнакомые или неожиданно появившиеся GX Mods.
  • Обходных путей, кроме обновления, не существует: атака не требовала действий пользователя, и блокировка на уровне настроек была невозможна.
  • Организациям, допускающим использование Opera GX в корпоративной среде, следует включить этот браузер в политики принудительного обновления.

Этот случай наглядно демонстрирует, как «безобидная» функция кастомизации — CSS-стили без JavaScript и разрешений — превращается в вектор утечки данных, когда её область действия распространяется на все посещаемые сайты, а установка происходит без согласия пользователя. Opera устранила конкретную уязвимость, но основной архитектурный урок шире: любой механизм, автоматически внедряющий контент в контекст произвольных веб-страниц, требует явного подтверждения пользователя — независимо от того, насколько ограниченным кажется этот контент.


CyberSecureFox Editorial Team

Редакция CyberSecureFox освещает новости кибербезопасности, уязвимости, malware-кампании, ransomware-активность, AI security, cloud security и security advisories вендоров. Материалы готовятся на основе official advisories, данных CVE/NVD, уведомлений CISA, публикаций вендоров и открытых отчётов исследователей. Статьи проверяются перед публикацией и обновляются при появлении новых данных.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.