Популярно разширение за блокиране на реклами в YouTube се оказа много по-опасно, отколкото изглежда на страницата на Chrome Web Store. Изследователите от Island разгледаха Adblock for YouTube и откриха архитектура, която позволява обичайният блокиращ реклами инструмент да се превърне в средство за изпълнение на JavaScript на сайтове, където потребителят вече е влязъл в профила си. За да се задейства такава верига не е необходима нова версия на разширението, повторна проверка в магазина или видимо предупреждение в браузъра.

Разширението е инсталирано над 10 милиона пъти, има рейтинг от 4,4 звезди, събрало е стотици хиляди отзиви и наистина блокира рекламите в YouTube. На пръв поглед пред потребителя стои обикновен, тесен инструмент за една задача, но всъщност разширението изисква достъп достъп до всички сайтове чрез разрешението . Такъв достъп отваря пътя към поща, банкови страници, корпоративни SaaS услуги, админ панели и вътрешни панели.

Разработчиците са предвидили проверка, която би трябвало да ограничи работата на разширението само до страниците на YouTube. Проблемът е в реализацията. Кодът търси низът youtube.com в пълния URL адрес, вместо да проверява домейна, източника на фрейма или действителния контекст на видеоплейъра, затова филтърът се задейства дори на външни сайтове, ако youtube.com се появи в параметър на линка, в търсения или при пренасочване.

Основната опасност е свързана с отдалечената конфигурация. Веднъж на ден разширението се свързва със сървъра api.adblock-for-youtube.com и получава правила за блокиране на реклами. Наред с обичайните филтри сървърът може да предава правила за т.нар. скриптлети – малки JavaScript функции. Според данните на Island, настоящата архитектура позволява на сървъра да избере нужния скриптлет и да предаде код, който след това се изпълнява в основния контекст на страницата.

Изследователите тестваха сценария в контролирана среда. Разширението първо стартираше скрипта в YouTube, след което отваряше Salesforce с youtube.com в параметрите на URL адреса. Поради слабата проверка разширението отново считаше страницата за подходяща за инжектиране и стартираше кода вече в рамките на авторизирана сесия в Salesforce. В демонстрацията скриптът прочиташе достъпните за потребителя данни за акаунтите и изпращаше информацията към тестов сървър. Island подчертава, че изследователите не са забелязали активен злонамерен код при потребителите. Става дума не за доказан масов пробив, а за възможност, която вече е вградена в работещо разширение и може да се активира след една-единствена промяна от страна на сървъра. При такъв сценарий потребителят няма да види актуализация на разширението, ново искане за разрешения или отделна проверка от Chrome Web Store.

Историята на разширението само засилва подозренията. Adblock for YouTube съществува в Chrome Web Store от 2014 година, а около 2018 година, според данни на Island е сменило собственика си и значително е променило кода си. Изследователите също така откриха връзки с други адблокери от същата екосистема. Част от свързаните разширения по-късно бяха премахнати от Chrome Web Store от Google поради злонамерено поведение. В по-старите версии на Adblock for YouTube присъстваше SDK Unistream за вмъкване на реклами, което беше премахнато през юни 2024 година.

За обикновените потребители изводът е ясен. Разширение с милиони инсталации и добри отзиви не става автоматично безопасно. Адблокерът получава необичайно широки права, защото трябва да променя страници и мрежови заявки, но достъпът до всички сайтове не се съчетава добре с обещанието „само да премахне рекламите в YouTube“.

За компаниите рискът е по-голям. Браузърът отдавна се е превърнал в работна среда, където служителите отварят електронна поща, CRM, облачни хранилища, панели за управление и вътрешни услуги. Разширението с достъп до уебстраници работи не в периферията, а вътре в работните сесии, затова корпоративните администратори трябва да проверяват не само името и рейтинга на разширението, но и разрешенията, отдалечените правила, промените в собствениците и способността за инжектиране на код след инсталирането му.