Исследователи из компании Island — Олег Зайцев и Шахар Грицман — обнаружили в популярном расширении для Chrome спящий механизм, позволяющий исполнять произвольный JavaScript на всех посещаемых пользователем страницах. Блокировщик рекламы «Adblock for YouTube» (Chrome Web Store ID
Около 2020 года расширение перешло под управление AdBlock Ltd, основанной Матиасом Рохусом. Именно после этой передачи, как установили в Island, в кодовой базе появились архитектурные изменения, открывшие путь для удалённого управления поведением расширения.
Ключевая проблема скрыта в библиотеке скриптлетов — небольших JavaScript-функций для блокировки рекламы. Расширение поставляется с набором этих функций, а серверная конфигурация определяет, какие из них запускаются и с какими аргументами. Скриптлет
Механизм активации предельно прост: достаточно одного изменения на сервере. Никакого обновления расширения, никакого прохождения проверки Chrome Web Store, никакого уведомления пользователя. На момент анализа возможность не была задействована — скриптлет находился в спящем состоянии, но сам потенциал присутствовал в коде.
Проверка домена в расширении реализована через поиск строки «youtube.com» в любом месте URL — без валидации имени хоста, фрейма или встроенного плеера. Это означает, что выражение «youtube.com» в параметре запроса или в поддомене даёт расширению карт-бланш. Примеры обхода:
Ранние версии расширения содержали Unistream SDK — программный комплект для инъекции рекламы, который удалили только в июне 2024 года. Этот факт в сочетании со сменой владельца и архитектурой удалённого управления рисует картину расширения, создававшегося изначально не для блокировки рекламы.
В общую экосистему с «Adblock for YouTube» входят ещё три расширения, которые Google уже удалил из Chrome Web Store за распространение вредоносного ПО: «Adblock for Chrome» (
Матиас Рохус из AdBlock Ltd заявил, что расширение никогда не использовало эту возможность и не собирается этого делать в будущем. В качестве доказательства добросовестности он сослался на высокий рейтинг и сотни тысяч отзывов. При этом в компании признали, что серверная конфигурация действительно способна в теории вызвать скриптлет, создающий исполняемый код. Сейчас готовится обновление для Chrome Web Store с двумя ключевыми исправлениями: проверка домена YouTube вместо примитивного поиска подстроки и отключение возможности создавать исполняемые скрипты через серверную конфигурацию. Обновление ждёт одобрения Google.
Скриптлет
Инцидент вписывается в общий тренд по расширениям-иммитаторам. Специалисты Palo Alto Networks Unit 42 параллельно зафиксировали кампанию с 18 расширениями, маскирующимися под потребительские бренды. Схема заработка проста: после установки открывается вкладка на домене
Ситуация с «Adblock for YouTube» обнажает фундаментальную проблему Chrome Web Store: проверка магазина способна поймать вредоносный код до публикации, но не способна уследить за серверными изменениями, которые после одобрения превращают безобидное расширение в инструмент перехвата данных. Архитектура допускает злоупотребление вне зависимости от намерений текущего владельца — а смена владельца четыре года назад и три удалённых родственных расширения делают намерения предметом для отдельного разговора.
Что делать пользователям и компаниям
Для обычных пользователей: временно отключить расширение или удалить его до выхода обновлённой версии. Десять миллионов установок — это десять миллионов потенциально скомпрометированных браузеров, и активация спящего механизма зависит от одного серверного изменения на стороне AdBlock Ltd. Если организация поддерживает белый список расширений, стоит немедленно добавить в чёрный список идентификатор
cmedhionkhpnakcndndgjdbohmhepckk) набрал более десяти миллионов установок и с 2014 года носит значок «Рекомендуемое» в магазине Chrome. Рейтинг расширения — 4.4 звезды при сотнях тысяч отзывов. Около 2020 года расширение перешло под управление AdBlock Ltd, основанной Матиасом Рохусом. Именно после этой передачи, как установили в Island, в кодовой базе появились архитектурные изменения, открывшие путь для удалённого управления поведением расширения.
Ключевая проблема скрыта в библиотеке скриптлетов — небольших JavaScript-функций для блокировки рекламы. Расширение поставляется с набором этих функций, а серверная конфигурация определяет, какие из них запускаются и с какими аргументами. Скриптлет
trusted-create-element, взятый из открытой библиотеки AdGuard, способен создавать HTML-элементы на странице. Если сервер передаст в качестве типа элемента значение «script» вместе с JavaScript-кодом, этот код выполнится в контексте открытой страницы. В таком случае возможно чтение конфиденциальных данных, кража информации и действия от имени пользователя. Механизм активации предельно прост: достаточно одного изменения на сервере. Никакого обновления расширения, никакого прохождения проверки Chrome Web Store, никакого уведомления пользователя. На момент анализа возможность не была задействована — скриптлет находился в спящем состоянии, но сам потенциал присутствовал в коде.
Проверка домена в расширении реализована через поиск строки «youtube.com» в любом месте URL — без валидации имени хоста, фрейма или встроенного плеера. Это означает, что выражение «youtube.com» в параметре запроса или в поддомене даёт расширению карт-бланш. Примеры обхода:
youtube.facebook.com/page?ref=youtube.com, bank.example.com/search?q=youtube.com, internal.corp.com/redirect?from=youtube.com. Фактически расширение работает на каждом сайте, куда заходит пользователь, — разрешение охватывает все URL через <all_urls>. Ранние версии расширения содержали Unistream SDK — программный комплект для инъекции рекламы, который удалили только в июне 2024 года. Этот факт в сочетании со сменой владельца и архитектурой удалённого управления рисует картину расширения, создававшегося изначально не для блокировки рекламы.
В общую экосистему с «Adblock for YouTube» входят ещё три расширения, которые Google уже удалил из Chrome Web Store за распространение вредоносного ПО: «Adblock for Chrome» (
onomjaelhagjjojbkcafidnepbfkpnee), «Adblock for You» (ogcaehilgakehloljjmajoempaflmdci) и «AdBlock Suite» (gekoepiplklhjiacchbbgbhilidiojmb). Связь между ними подтверждена специалистами Island. Матиас Рохус из AdBlock Ltd заявил, что расширение никогда не использовало эту возможность и не собирается этого делать в будущем. В качестве доказательства добросовестности он сослался на высокий рейтинг и сотни тысяч отзывов. При этом в компании признали, что серверная конфигурация действительно способна в теории вызвать скриптлет, создающий исполняемый код. Сейчас готовится обновление для Chrome Web Store с двумя ключевыми исправлениями: проверка домена YouTube вместо примитивного поиска подстроки и отключение возможности создавать исполняемые скрипты через серверную конфигурацию. Обновление ждёт одобрения Google.
Скриптлет
trusted-create-element сам по себе не является вредоносным — он часть открытой библиотеки AdGuard, которую используют многие блокировщики рекламы. Риск создаёт модель развёртывания: сервер решает, какие скриптлеты запускать и с какими аргументами, минуя проверку магазина расширений и любые уведомления пользователя. Инцидент вписывается в общий тренд по расширениям-иммитаторам. Специалисты Palo Alto Networks Unit 42 параллельно зафиксировали кампанию с 18 расширениями, маскирующимися под потребительские бренды. Схема заработка проста: после установки открывается вкладка на домене
.shop, та перенаправляет на другую страницу, где пользователю сообщают о «необходимости дальнейших действий» или «проблемах совместимости», после чего предлагают установить «игровой браузер» — по сути ещё одно потенциально нежелательное расширение. Механизм монетизации — партнёрский маркетинг. Ситуация с «Adblock for YouTube» обнажает фундаментальную проблему Chrome Web Store: проверка магазина способна поймать вредоносный код до публикации, но не способна уследить за серверными изменениями, которые после одобрения превращают безобидное расширение в инструмент перехвата данных. Архитектура допускает злоупотребление вне зависимости от намерений текущего владельца — а смена владельца четыре года назад и три удалённых родственных расширения делают намерения предметом для отдельного разговора.
Что делать пользователям и компаниям
Для обычных пользователей: временно отключить расширение или удалить его до выхода обновлённой версии. Десять миллионов установок — это десять миллионов потенциально скомпрометированных браузеров, и активация спящего механизма зависит от одного серверного изменения на стороне AdBlock Ltd. Если организация поддерживает белый список расширений, стоит немедленно добавить в чёрный список идентификатор
cmedhionkhpnakcndndgjdbohmhepckk и три связанных: onomjaelhagjjojbkcafidnepbfkpnee, ogcaehilgakehloljjmajoempaflmdci, gekoepiplklhjiacchbbgbhilidiojmb. Полезно также мониторить попытки обращения расширения к серверам конфигурации и появление скриптлета trusted-create-element в сетевом трафике.