Kwetsbaarheid in Adblock Plus waardoor code kan worden uitgevoerd bij gebruik van twijfelachtige filters

In Adblock Plus advertentieblokkering geïdentificeerd kwetsbaarheid, toestaan het organiseren van de uitvoering van JavaScript-code in de context van sites, in het geval van het gebruik van niet-geverifieerde filters die zijn opgesteld door aanvallers (bijvoorbeeld bij het verbinden van regels van derden of door het vervangen van regels tijdens een MITM-aanval).

Auteurs van lijsten met sets filters kunnen de uitvoering van hun code organiseren in de context van sites die door de gebruiker worden geopend door regels toe te voegen met de operator "herschrijven", waarmee u een deel van de URL kunt vervangen. Met de rewrite-operator kunt u de host in de URL niet vervangen, maar kunt u wel vrijelijk de aanvraagargumenten manipuleren. Alleen tekst kan worden gebruikt als vervangend masker, en vervanging van script-, object- en subdocumenttags is toegestaan geblokkeerd.

Het uitvoeren van code kan echter via een tijdelijke oplossing worden bereikt.
Sommige sites, waaronder Google Maps, Gmail en Google Afbeeldingen, gebruiken de techniek van het dynamisch laden van uitvoerbare JavaScript-blokken, verzonden in de vorm van kale tekst. Als de server het omleiden van verzoeken toestaat, kan het doorsturen naar een andere host worden bereikt door de URL-parameters te wijzigen (in de context van Google kan bijvoorbeeld een omleiding worden gemaakt via de API "google.com/zoeken"). Naast hosts die omleiding toestaan, kan er ook een aanval worden uitgevoerd op diensten die het plaatsen van gebruikersinhoud toestaan ​​(codehosting, platformen voor het plaatsen van artikelen, enz.).

De voorgestelde aanvalsmethode heeft alleen invloed op pagina's die dynamisch reeksen JavaScript-code laden (bijvoorbeeld via XMLHttpRequest of Fetch) en deze vervolgens uitvoeren. Een andere belangrijke beperking is de noodzaak om een ​​omleiding te gebruiken of willekeurige gegevens te plaatsen aan de kant van de oorspronkelijke server die de bron verstrekt. Om de relevantie van de aanval echter aan te tonen, wordt getoond hoe u de uitvoering van uw code kunt organiseren bij het openen van maps.google.com, met behulp van een omleiding via “google.com/search”.

De oplossing is nog in voorbereiding. Het probleem treft ook blokkers AdBlock и uBlock. De uBlock Origin-blocker heeft geen last van het probleem, omdat deze de “rewrite”-operator niet ondersteunt. Ooit de auteur van uBlock Origin
geweigerd ondersteuning toevoegen voor herschrijven, daarbij verwijzend naar mogelijke beveiligingsproblemen en onvoldoende beperkingen op hostniveau (er werd een querystrip-optie voorgesteld in plaats van herschrijven om queryparameters op te schonen in plaats van ze te vervangen).

Adblock Plus-ontwikkelaars achten echte aanvallen onwaarschijnlijk, omdat alle wijzigingen in de standaardlijsten met regels worden beoordeeld en het koppelen van lijsten van derden uiterst zeldzaam is onder gebruikers. Vervanging van regels via MITM wordt voorkomen door het standaardgebruik van HTTPS voor het downloaden van standaardblokkeerlijsten (voor andere lijsten is het de bedoeling om het downloaden via HTTP in een toekomstige release te verbieden). Richtlijnen kunnen worden gebruikt om een ​​aanval aan de sitezijde te blokkeren CSP (Content Security Policy), waarmee u expliciet kunt bepalen vanaf welke hosts externe bronnen kunnen worden geladen.

Bron: opennet.ru

Voeg een reactie