Adblock Plus dürfte mit über 10 Millionen Installationen der weltweit beliebteste Ad-Blocker sein. Das Plugin ist für Chrome und weitere Webbrowser, sowie als Mobile-App für iOS und Android verfügbar. Adblock Plus blockiert Tracking-Versuche und aufdringliche Werbung. Gleichzeitig ermöglicht das Tool aber auch die Anzeige von wenig aufdringlicher Anzeigen.
Wie der Sicherheitsforscher Armin Sebastian jetzt veröffentlicht hat, können Angreifer unter bestimmten Voraussetzungen aber willkürlichen Code über Adblock Plus, Adblock und uBlocker ausführen. Dazu nutzen sie die Listenfilter-Option $rewrite, die mit Version 3.2 im letzten Jahr eingeführt wurde.
Listen-Administratoren könnten Schadecode ausführen
Adblocker arbeiten mit URL-Listen, deren Wartung und Updates in der Regel von kleinen Teams oder Einzelpersonen durchgeführt werden. Die Listen beinhalten die URLs von Domains, die die Werbung ausliefern oder durch Schadcode aufgefallen sind. Adblock Plus lädt diese Listen und hindert dem Browser beim Besuch einer Webseite daran, die zugehörige Werbung zu laden.
Der Filter $rewrite erlaubt es allerdings den Listen-Administratoren, gewisse Anfragen durch eine andere URL zu ersetzen. Diese andere URL muss allerdings von der selben Domain kommen. Das bietet sich an, um Werbeflächen etwa mit anderen Inhalten zu füllen. Prinzipiell ist $rewrite so abgesichert, dass es kaum zu einem Exploit kommen kann.
Das galt zumindest solange, bis Sebastian gezeigt hat, dass ein Listen-Administrator mit bösen Absichten durchaus eine URL per $rewrite so verändern kann, dass sie Schadcode von einem fremden Server ausführen kann.
Voraussetzungen für Angriff einfach zu erfüllen
Dazu muss die Webseite unter anderem einen JavaScript-String per XMLHttpRequest oder Fetch laden und ausführen können sowie den Code von beliebigen URLs ausführen. Der Sicherheitsforscher hatte keine Probleme damit, eine URL zu finden, auf die alle Voraussetzungen für den Angriff zutreffen.
Für ein Beispiel verwendete er etwa Google Maps. Er veränderte die Filterliste so, dass beim Aufrufen von Google Maps ein Pop-Up mit „www.google.com“ erscheint. Das selbe funktioniert auch mit den Webseiten von Gmail und Google Images.
Sebastian hat auch die Entwickler von AdBlock Plus über die Schwachstelle informiert, die den möglichen Exploit eingeräumt haben. Sie selbst stufen das Potenzial für solche Angriffe aber als gering an. Trotzdem werden sie den $rewrite-Filter mit dem nächsten AdBlocker-Update komplett entfernen. Bis dahin bleibt die Lücke allerdings bestehen.