Sårbarhet i Adblock Plus som tillater kodekjøring ved bruk av tvilsomme filtre

I Adblock Plus annonseblokkering identifisert sårbarhet, tillater organisere kjøringen av JavaScript-kode i sammenheng med nettsteder, i tilfelle bruk av ubekreftede filtre utarbeidet av angripere (for eksempel ved tilkobling av tredjeparts regelsett eller gjennom erstatning av regler under et MITM-angrep).

Forfattere av lister med sett med filtre kan organisere utførelsen av koden deres i sammenheng med nettsteder åpnet av brukeren ved å legge til regler med operatøren "omskrive", som lar deg erstatte deler av URL-en. Omskrivingsoperatoren tillater deg ikke å erstatte verten i URL-en, men den lar deg fritt manipulere forespørselsargumentene. Bare tekst kan brukes som erstatningsmaske, og erstatning av skript-, objekt- og underdokument-tagger er tillatt blokkert.

Kodekjøring kan imidlertid oppnås i en løsning.
Noen nettsteder, inkludert Google Maps, Gmail og Google Bilder, bruker teknikken for dynamisk lasting av kjørbare JavaScript-blokker, overført i form av bare tekst. Hvis serveren tillater omdirigering av forespørsler, kan videresending til en annen vert oppnås ved å endre URL-parametrene (for eksempel, i Google-sammenheng, kan en omdirigering gjøres gjennom API-en "google.com/search"). I tillegg til verter som tillater omdirigering, kan et angrep også utføres mot tjenester som tillater publisering av brukerinnhold (kodehosting, artikkelposteringsplattformer osv.).

Den foreslåtte angrepsmetoden påvirker bare sider som dynamisk laster inn strenger med JavaScript-kode (for eksempel via XMLHttpRequest eller Fetch) og deretter kjører dem. En annen viktig begrensning er behovet for å bruke en omdirigering eller plassere vilkårlige data på siden av den opprinnelige serveren som utsteder ressursen. For å demonstrere relevansen av angrepet, vises det imidlertid hvordan du organiserer utførelsen av koden din når du åpner maps.google.com, ved å bruke en omdirigering gjennom "google.com/search".

Reparasjonen er fortsatt under forberedelse. Problemet påvirker også blokkere AdBlock и uBlock. UBlock Origin-blokkeringen påvirkes ikke av problemet, siden den ikke støtter "omskriv"-operatøren. På en gang forfatteren av uBlock Origin
nektet legg til støtte for omskriving, med henvisning til potensielle sikkerhetsproblemer og utilstrekkelige begrensninger på vertsnivå (et querystrip-alternativ ble foreslått i stedet for omskriving for å rydde opp i spørringsparametere i stedet for å erstatte dem).

Adblock Plus-utviklere anser virkelige angrep som usannsynlige, siden alle endringer i standardlistene med regler blir gjennomgått, og det er ekstremt sjeldent å koble til tredjepartslister blant brukere. Utskifting av regler via MITM forhindres av standardbruken av HTTPS for nedlasting av standard blokkeringslister (for andre lister er det planlagt å forby nedlasting via HTTP i en fremtidig utgivelse). Direktiv kan brukes til å blokkere et angrep på sidesiden CSP (Content Security Policy), der du eksplisitt kan bestemme vertene som eksterne ressurser kan lastes fra.

Kilde: opennet.ru

Legg til en kommentar