Расширение Adblock for YouTube с 11 млн установок содержит механизм удалённой инъекции JavaScript

information security

Расширение для Chrome Adblock for YouTube, установленное более чем 11 миллионами пользователей, обладает архитектурой, позволяющей удалённо выполнять произвольный JavaScript-код на любом веб-сайте. Эта возможность активируется одним изменением на сервере, без обновления самого расширения и без какого-либо уведомления пользователя. Исследователи не зафиксировали фактического применения вредоносной нагрузки, однако сам факт существования такого механизма в сочетании с историей разработчика, чьи другие расширения удалялись из Chrome Web Store за вредоносную активность, создаёт серьёзные риски для безопасности.

Описание

Расширение занимает 31-е место среди сотен тысяч дополнений в магазине Chrome, имеет рейтинг 4,4 звезды и более 374 тысяч отзывов. Оно действительно блокирует рекламу на YouTube, чем и объясняется его популярность. Однако за этой функциональностью скрывается неочевидная угроза.

Разработчики предоставили анализ внутреннего устройства расширения, который выявил критическую проблему. Для блокировки рекламы расширение запрашивает разрешение "<all_urls>" - доступ ко всем посещаемым пользователем сайтам. Формально это обосновывается необходимостью работы со встроенными плеерами YouTube на сторонних ресурсах. Однако код содержит проверку, которая должна ограничивать выполнение только страницами, содержащими в URL строку "youtube.com". Эта проверка не учитывает контекст: она срабатывает, если подстрока youtube.com присутствует в любом месте адреса - например, в параметрах запроса. Таким образом, расширение может выполнять код на сайтах банков, корпоративных порталов, почтовых сервисов, если в их URL искусственно добавить youtube.com.

Каждые 24 часа расширение обращается к удалённому серверу для получения конфигурации. Ответ сервера включает не только стандартные правила блокировки, но и поле "scripletsRules" - набор scriptlet-ов (небольших JavaScript-функций). Среди них есть функция "trusted-create-element", которая создаёт HTML-элементы на странице. Если сервер отправит команду создать элемент "<script>" с произвольным содержимым, этот код выполнится в контексте страницы, получив полный доступ к DOM-дереву, сессиям, формам и пользовательским данным.

Исследователи воспроизвели цепочку атаки в контролируемых условиях с использованием локального сервера-перехватчика. Расширение не модифицировалось. При открытии YouTube серверный scriptlet открывал страницу Salesforce, содержащую youtube.com в строке запроса. Проверка расширения пропускала этот URL, и scriptlet выполнялся уже в сессии Salesforce, считывая данные учётных записей и отправляя их на сервер. Для запуска такой атаки достаточно одного изменения на стороне сервера.

История расширения добавляет тревожных сигналов. Оно появилось в 2014 году, но около 2018 года сменило владельца и было существенно переписано. После этого число пользователей выросло с нескольких сотен тысяч до более чем 10 миллионов. Расширение оказалось связано с двумя другими дополнениями - Adblock for Chrome и Adblock for You, которые были удалены из Chrome Web Store за размещение вредоносного кода. Инфраструктура этих расширений пересекалась: посадочные страницы на доменах get.adblock-for-youtube.com и update.adblock-for-y.com перенаправляли пользователей на установку тех удалённых расширений. Ранние версии Adblock for YouTube также содержали Unistream SDK, ассоциированный с adware и отмеченный антивирусными компаниями. Этот SDK был удалён только в июне 2024 года.

Ключевая угроза заключается в том, что статическая проверка расширения показывает работающий блокировщик рекламы. Вопрос в том, что расширение может быть вынуждено делать в будущем по команде сервера. Серверное управление инъекцией кода делает расширение потенциальным проводником атак на корпоративные приложения, работающие за SSO, на внутренние панели администрирования и любые другие веб-сервисы, к которым у пользователя есть доступ.

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

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

Индикаторы компрометации

Extension

  • cmedhionkhpnakcndndgjdbohmhepckk - Adblock for Youtube™ v7.2.2
  • onomjaelhagjjojbkcafidnepbfkpnee - Adblock for Chrome v3.3.3
  • ogcaehilgakehloljjmajoempaflmdci - Adblock for You v3.0.3
  • gekoepiplklhniacchbbgbhilidiojmb - AdBlock Suite v1.3.1

Domain

  • abfc-extension.com
  • abu-xt.com
  • adblock-for-chrome.com
  • adblock-for-y.com
  • api.adblock-for-youtube.com
  • cdn.unistream.io
  • data.unistream.io
  • get.adblock-for-youtube.com
  • unistream.io
  • update.adblock-for-y.com

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