Sicherheitsanfälligkeit in Adblock Plus, die die Ausführung von Code bei Verwendung fragwürdiger Filter ermöglicht

Im Adblocker Adblock Plus entdeckt Sicherheitsanfälligkeit, ermöglicht, die die Ausführung von JavaScript-Code im Kontext von Websites ermöglichen kann, wenn unvertraute Filter verwendet werden, die von Angreifern vorbereitet wurden (zum Beispiel beim Anschluss externer Regelsets oder durch das Ersetzen von Regeln während eines MITM-Angriffs).

Die Autoren von Regelsets können die Ausführung ihres Codes im Kontext der vom Benutzer geöffneten Websites ermöglichen, indem sie Regeln mit dem Operator „rewrite“ hinzufügen, der es ermöglicht, Teile der URL zu ersetzen. Der Rewrite-Operator erlaubt es nicht, den Host in der URL zu ersetzen, bietet aber die Möglichkeit, die Abfrageparameter frei zu manipulieren. Als Maske für den Austausch dürfen nur Text verwendet werden, während das Einfügen von Script-, Object- und Subdocument-Tags blockiert wird..

Dennoch kann die Codeausführung auf indirekte Weise erreicht werden.
Einige Websites, einschließlich Google Maps, Gmail und Google Images, verwenden die Technik des dynamischen Ladens von ausführbaren JavaScript-Blöcken, die im Klartext übermittelt werden. Wenn der Server Weiterleitungen zulässt, kann eine Umleitung auf einen anderen Host erreicht werden, indem die URL-Parameter geändert werden (zum Beispiel kann im Kontext von Google eine Umleitung über die API „google.com/search“ durchgeführt werden). Neben Hosts, die Umleitungen zulassen, kann der Angriff auch gegen Dienste gerichtet werden, die das Hosting von Benutzerdaten erlauben (Code-Hosting, Artikel-Plattformen usw.).

Die vorgeschlagene Angriffsart betrifft nur Seiten, die dynamisch Zeilen mit JavaScript-Code laden (zum Beispiel über XMLHttpRequest oder Fetch) und diese dann ausführen. Eine weitere wichtige Einschränkung ist die Notwendigkeit, eine Umleitung oder die Bereitstellung beliebiger Daten auf der Seite des Ursprungsservers, der die Ressource liefert, zu verwenden. Dennoch wird gezeigt, wie die Ausführung eigenen Codes beim Öffnen von maps.google.com unter Verwendung einer Umleitung über „google.com/search“ organisiert werden kann.

Die Behebung befindet sich noch in der Vorbereitung. Das Problem betrifft auch die Blocker AdBlock und uBlock. Der Blocker uBlock Origin ist von diesem Problem nicht betroffen, da er den Operator „rewrite“ nicht unterstützt. Zu einem früheren Zeitpunkt hat der Autor von uBlock Origin
abgelehnt. Unterstützung für Rewrite hinzufügen, unter Bezugnahme auf potenzielle Sicherheitsprobleme und unzureichende Host-Level-Beschränkungen (anstelle von Rewrite wurde die Option Querystrip vorgeschlagen, um die Abfrageparameter anstelle ihrer Ersetzung zu bereinigen).

Die Entwickler von Adblock Plus halten reale Angriffe für unwahrscheinlich, da alle Änderungen in den Standardregellisten überprüft werden und die Nutzung von Drittanbieterliste von den Benutzern äußerst selten praktiziert wird. Der Austausch von Regeln über MITM wird durch die standardmäßige Verwendung von HTTPS zum Herunterladen der Standard-Blocking-Listen ausgeschlossen (für andere Listen ist geplant, das Herunterladen über HTTP in der nächsten Ausgabe zu verbieten). Für die Blockierung von Angriffen auf Websites können Direktiven angewendet werden CSP (Content Security Policy), über die Hosts explizit definiert werden können, von denen das Laden externer Ressourcen erlaubt ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4