Adblock Plus filter exploit om willekeurige code ontdekt uit te voeren

De meeste inhoudblokkers gebruiken en laden filterlijsten met instructies om standaard bepaalde inhoud op bezochte sites in de webbrowser te blokkeren of te wijzigen; dit wordt gedaan om ervoor te zorgen dat standaardconfiguraties meteen een goed stuk ongewenste inhoud blokkeren.

De meeste extensies ondersteunen aangepaste lijsten en individuele filters. Gebruikers kunnen in de meeste extensies aangepaste lijsten laden en ook hun eigen filters aan de lijst toevoegen.

Update : Eyeo GMHB heeft vandaag aangekondigd dat het de $ rewrite-functie voortaan zal verwijderen. Verwacht binnenkort een nieuwe release die if van de extensie verwijdert. Einde

Armin Sebastian, een beveiligingsonderzoeker, ontdekte in bepaalde adblockers, zoals Adblock Plus, een exploit die kon worden gebruikt om schadelijke code uit te voeren op sites die in de browser werden bezocht.

De exploit gebruikt een filteroptie genaamd $ rewrite die Adblock Plus ondersteunt om willekeurige code in webpagina's te injecteren. Het $ rewrite filter wordt gebruikt om code op sites te vervangen door het te herschrijven. De filteroptie beperkt de bewerking; het is ontworpen om alleen inhoud van de first-party bron te laden en niet van sites of servers van derden, en sommige verzoeken, bijvoorbeeld script of object, zijn evenmin toegestaan.

Sebastian ontdekte een kwetsbaarheid in $ rewrite die aanvallers kunnen gebruiken om inhoud van externe locaties te laden. De voorwaarden waaraan moet worden voldaan zijn:

  1. Een JavaScript-tekenreeks moet worden geladen met XMLHttpRequest of Fetch en de retourcode moet worden uitgevoerd.
  2. Oorsprong kan niet worden beperkt op de pagina, bijvoorbeeld door het gebruik van richtlijnen voor inhoudsbeveiligingsbeleid, en de uiteindelijke aanvraag-URL kan niet worden gevalideerd vóór uitvoering.
  3. De oorsprong van de code moet een open omleiding op de server hebben of moet willekeurige gebruikersinhoud bevatten.

Eigenschappen die aan alle drie de vereisten voldoen, zijn onder andere Google Maps, Gmail of Google Afbeeldingen. Een proof of concept is gepubliceerd op de website van de auteur en u kunt het proberen op Google Maps om te controleren of het werkt.

Ik heb de exploit geprobeerd in Chrome en Firefox en kon het niet laten werken. Lawrence Abrams op Bleeping Computer slaagde er echter in het te laten werken.

Slotwoorden

De aanval heeft nog een vereiste, omdat deze afhankelijk is van filters. Een gemanipuleerd filter moet worden toegevoegd aan de lijst met filters die worden gebruikt door de content blocker. De twee meest voorkomende opties omvatten gebruikers die handmatig filters aan hun inhoudblokkers toevoegen, of dat een gemanipuleerd filter op een filterlijst staat die wordt geladen.

De tweede optie lijkt waarschijnlijker, vooral in gevallen waarin gebruikers andere lijsten in de extensies laden. Het is niet de eerste keer dat lijsten worden gemanipuleerd, maar het gebeurt niet vaak.

De extensie uBlock Origin heeft geen last van het probleem, omdat het $ rewrite niet ondersteunt.