Xakep #305. Многошаговые SQL-инъекции
В браузере Opera исправили серьезную уязвимость, которая предоставляла вредоносным расширения несанкционированный доступ к приватным API. Эти API используются для работы ряда функций браузера, включая криптокошелек, VPN, Pinboard и так далее.
Обнаружившие проблему специалисты Guardio Labs дали ей название CrossBarking. Исследователи предупредили, что такая атака могла привести к самым разным последствиям: от создания скриншотов и изменения настроек браузера, до полного захвата учетных записей.
Для демонстрации проблемы специалисты решили действовать как хакеры: создали и опубликовали в Chrome Web Store безобидное на первый взгляд расширение, которое могло эксплуатировать уязвимость в Opera. Стоит отметить, что для других Chromium-браузеров расширение не представляло угрозы.
«Этот случай не только ярко иллюстрирует извечный конфликт между производительностью и безопасностью, но и дает возможность взглянуть на тактики, которые применяют современные злоумышленниками, действующие практически незаметно», — говорят исследователи.
Корень проблемы CrossBarking заключался в том, что сразу несколько публично доступных доменов (как принадлежащих самой Opera, так и сторонних) имеют привилегированный доступ к приватным API, встроенным в браузер. Эти домены используются для поддержки таких специфических для Opera функций, как Opera Flow, Opera Wallet или Pinboard, а также во внутренних разработках. Фактически Opera использует специальные веб-приложения в определенных доменах, обладающие уникальными привилегиями.
Вот только некоторые из этих доменов:
• crypto-corner.op-test.net;
• op-test.net;
• gxc.gg;
• opera.atlassian.net;
• pinboard.opera.com;
• yandex.com.
Хотя песочница гарантирует, что контекст браузера остается изолированным от остальной ОС, специалисты выяснили, что контент-скрипты в браузерном расширении могут использоваться для внедрения вредоносного JavaScript-кода в домены с высокими привилегиями и получения доступа к приватным API.
«Контент-скрипт имеет доступ к DOM (Document Object Model) и имеет возможность динамически изменять ее, в частности, добавлять новые элементы», — объясняют эксперты.
Обладая таким доступом, злоумышленник получает возможность делать скриншоты открытых вкладок, похищать сессионные cookie для захвата учетных записей и даже изменять настройки DNS-over-HTTPS (DoH) браузера, чтобы резовить домены через вредоносный DNS-сервер. К примеру, жертва попытается зайти на сайт банка или в социальную сеть, но будет перенаправлена на вредоносный аналог.
При этом вредоносное расширение может быть опубликовано в Chrome Web Store как совершенно безобидное, хотя для запуска JavaScript на любой веб-странице все же потребуется отдельное разрешение.
«Хорошо это или плохо, но расширения для браузеров обладают значительной властью. Поэтому необходимо строго следить за ними, — заключают специалисты. — Нынешняя модель проверки недостаточна. Мы рекомендуем усилить ее с помощью дополнительного персонала и методов непрерывного анализа, которые отслеживают активность расширений даже после их проверки. Кроме того, очень важно обеспечить проверку личностей для учетных записей разработчиков, чтобы для регистрации было недостаточно бесплатной электронной почты и предоплаченной кредитки».
Уязвимость была устранена разработчиками Opera в сентябре 2024 года, после того как исследователи сообщили об ошибке.
Представители Opera прокомментировали публикацию отчета исследователей, поблагодарив Guardio Labs за проделанную работу и отметив, что для осуществления такой атаки злоумышленникам сначала пришлось бы вынудить пользователя установить вредоносное расширение. Также в компании подчеркнули, что проблема CrossBarking не применялась в реальных атаках.
«Расширение, которое специалисты Guardio Labs создали для проведения атаки, размещалось в стороннем магазине, поскольку для всех расширений, размещенных в магазине дополнений Opera (Opera Add-ons Store), применяется исключительно ручная проверка, и это сделано специально для того, чтобы не допустить попадания таких вредоносных расширений к пользователям. Это подчеркивает, как важен не только надежный процесс проверки, но и безопасная инфраструктура магазинов расширений для браузеров, а также то, какой властью расширения могут обладать», — заявили в Opera.