Ranjivost u Adblock Plus-u koja omogućava izvršavanje koda kada se koriste upitni filteri

U Adblock Plus blokatoru oglasa identifikovan ranjivost, dozvoljavajući organizovati izvršavanje JavaScript koda u kontekstu sajtova, u slučaju korišćenja neproverenih filtera koje su pripremili napadači (na primer, prilikom povezivanja skupova pravila treće strane ili zamenom pravila tokom MITM napada).

Autori lista sa skupovima filtera mogu organizirati izvršavanje svog koda u kontekstu stranica koje je korisnik otvorio dodavanjem pravila s operatorom "prepisati", što vam omogućava da zamijenite dio URL-a. Operator ponovnog pisanja ne dozvoljava vam da zamijenite host u URL-u, ali vam omogućava da slobodno manipulirate argumentima zahtjeva. Samo tekst se može koristiti kao zamjenska maska, a zamjena oznaka skripte, objekta i poddokumenta je dozvoljena blokiran.

Međutim, izvršenje koda može se postići zaobilaznim putem.
Neke web stranice, uključujući Google Maps, Gmail i Google Images, koriste tehniku ​​dinamičkog učitavanja izvršnih JavaScript blokova, koji se prenose u obliku golog teksta. Ako server dozvoljava preusmjeravanje zahtjeva, tada se prosljeđivanje na drugi host može postići promjenom URL parametara (na primjer, u kontekstu Google-a, preusmjeravanje se može izvršiti preko API-ja "google.com/search"). Pored hostova koji dozvoljavaju preusmjeravanje, napad se može izvršiti i na servise koji dozvoljavaju postavljanje korisničkog sadržaja (hostovanje koda, platforme za objavljivanje članaka, itd.).

Predložena metoda napada utiče samo na stranice koje dinamički učitavaju nizove JavaScript koda (na primjer, putem XMLHttpRequest ili Fetch) i zatim ih izvršavaju. Još jedno važno ograničenje je potreba za korištenjem preusmjeravanja ili stavljanjem proizvoljnih podataka na stranu originalnog servera koji izdaje resurs. Međutim, da bi se demonstrirala relevantnost napada, pokazano je kako organizirati izvršavanje vašeg koda prilikom otvaranja maps.google.com, koristeći preusmjeravanje preko “google.com/search”.

Popravak je još u pripremi. Problem pogađa i blokatore AdBlock и uBlock. Problem ne utiče na uBlock Origin blokator, jer ne podržava „rewrite“ operator. Svojevremeno autor uBlock Origin-a
odbio dodati podršku za ponovno pisanje, navodeći potencijalne sigurnosne probleme i nedovoljna ograničenja na nivou hosta (opcija querystrip je predložena umjesto ponovnog pisanja za čišćenje parametara upita umjesto njihove zamjene).

Programeri Adblock Plus-a smatraju da su pravi napadi malo vjerovatni, jer se sve promjene standardnih lista pravila pregledaju, a povezivanje lista trećih strana je izuzetno rijetko među korisnicima. Zamjena pravila putem MITM-a je onemogućena zadanim korištenjem HTTPS-a za preuzimanje standardnih blok lista (za ostale liste je planirano zabraniti preuzimanje putem HTTP-a u budućem izdanju). Smjernice se mogu koristiti za blokiranje napada na strani stranice SPRS (Politika sigurnosti sadržaja), preko koje možete eksplicitno odrediti hostove sa kojih se mogu učitavati vanjski resursi.

izvor: opennet.ru

Dodajte komentar