V blokovači reklám Adblock Plus zraniteľnosť, organizovať vykonanie JavaScriptového kódu v kontexte stránok, pri používaní neoverených filtrov, pripravených útočníkmi (napríklad pri pripojení na externé súbory pravidiel alebo cez zmenu pravidiel počas MITM útoku).
Autori súborov s pravidlami filtrov môžu organizovať vykonanie svojho kódu v kontexte stránok otváraných používateľom cez pridanie pravidiel s operátorom „«, ktorý umožňuje nahradiť časť URL. Operátor rewrite neumožňuje nahradiť hostiteľa v URL, ale poskytuje možnosť voľne manipulovať s argumentmi požiadavky. Ako maska na nahradenie sa pripúšťa len text, a vkladanie tagov script, object a subdocument .
Napriek tomu je možné dosiahnuť vykonanie kódu obchádzacími cestami.
Niektoré stránky, vrátane Google Maps, Gmailu a Google Images, používajú techniku dynamického načítania spúšťateľných JavaScript blokov, prenášaných vo forme čistého textu. Ak server umožňuje presmerovanie požiadaviek, je možné dosiahnuť presmerovanie na iného hostiteľa zmenou parametrov URL (napríklad v kontexte Google môže byť presmerovanie vykonané cez API „„). Okrem hostiteľov, ktorí umožňujú presmerovanie, môže byť útok vykonaný aj proti službám, ktoré umožňujú ukladanie obsahu používateľov (hostingové platformy kódu, platformy pre umiestnenie článkov a pod.).
Navrhnutá metóda útoku zasahuje iba stránky, ktoré dynamicky načítavajú riadky s JavaScript kódom (napríklad cez XMLHttpRequest alebo Fetch) a následne ich vykonávajú. Ďalším dôležitým obmedzením je potreba použiť presmerovanie alebo umiestnenie ľubovoľných údajov na strane pôvodného servera, ktorý poskytuje zdroj. Napriek tomu, ako demonštráciu aktuálnosti útoku, je ukázané, ako organizovať vykonávanie svojho kódu pri otvorení maps.google.com, využívajúc presmerovanie cez „google.com/search“.
Oprava je zatiaľ v procese prípravy. Problém sa tiež týka blokovačov a . Blokovač uBlock Origin nie je tejto problémy podrobený, pretože nepodporuje operátor „rewrite“. V minulosti autor uBlock Origin
Pridať podporu rewrite, odvolávajúc sa na potenciálne problémy s bezpečnosťou a nedostatočné obmedzenia na úrovni hostiteľa (namiesto rewrite bola navrhnutá možnosť querystrip na vyčistenie parametrov dopytu namiesto ich nahradenia).
Vývojári Adblock Plus považujú vykonanie reálnych útokov za nepravdepodobné, pretože všetky zmeny v štandardných zoznamoch pravidiel prechádzajú recenziou a pripojenie tretích strán zoznamov sa u používateľov praktizuje mimoriadne zriedka. Zmenu pravidiel prostredníctvom MITM vylučuje predvolené použitie HTTPS na načítanie štandardných zoznamov blokovania (pre ostatné zoznamy sa plánuje zakázať načítanie cez HTTP v budúcej verzii). Na blokovanie útokov na strane stránok môžu byť použité direktívy (Content Security Policy), prostredníctvom ktorých je možné jasne definovať hostiteľov, z ktorých je povolené načítanie externých zdrojov.
Zdroj: opennet.ru
