Ranljivost v Adblock Plus, ki omogoča izvajanje kode pri uporabi vprašljivih filtrov

V blokatorju oglasov Adblock Plus ugotovljeno ranljivost, dopuščanje organizirati izvajanje kode JavaScript v kontekstu spletnih mest, v primeru uporabe nepreverjenih filtrov, ki so jih pripravili napadalci (na primer pri povezovanju nizov pravil tretjih oseb ali prek zamenjave pravil med napadom MITM).

Avtorji seznamov z nizi filtrov lahko organizirajo izvajanje svoje kode v kontekstu spletnih mest, ki jih odpre uporabnik, tako da dodajo pravila z operatorjem "reportaža«, ki vam omogoča zamenjavo dela URL-ja. Operator prepisovanja vam ne dovoljuje zamenjave gostitelja v URL-ju, vendar vam omogoča, da prosto manipulirate z argumenti zahteve. Kot nadomestno masko je mogoče uporabiti samo besedilo, dovoljena pa je tudi zamenjava oznak skripta, predmeta in poddokumenta blokiran.

Vendar pa je izvajanje kode mogoče doseči z nadomestno rešitvijo.
Nekatera spletna mesta, vključno z Google Zemljevidi, Gmailom in Google Slikami, uporabljajo tehniko dinamičnega nalaganja izvedljivih blokov JavaScript, ki se prenašajo v obliki golega besedila. Če strežnik dovoljuje preusmeritev zahteve, je posredovanje na drugega gostitelja mogoče doseči s spremembo parametrov URL (na primer, v kontekstu Googla se lahko preusmeritev izvede prek API-ja "google.com/search"). Poleg gostiteljev, ki omogočajo preusmeritev, se napad lahko izvaja tudi na storitve, ki omogočajo objavo uporabniške vsebine (gostovanje kode, platforme za objavo člankov itd.).

Predlagana metoda napada vpliva samo na strani, ki dinamično nalagajo nize kode JavaScript (na primer prek XMLHttpRequest ali Fetch) in jih nato izvajajo. Druga pomembna omejitev je potreba po uporabi preusmeritve ali postavitvi poljubnih podatkov na stran prvotnega strežnika, ki izdaja vir. Vendar pa je za prikaz pomembnosti napada prikazano, kako organizirati izvajanje vaše kode, ko odprete maps.google.com, s preusmeritvijo prek »google.com/search«.

Popravek je še v pripravi. Težava vpliva tudi na blokatorje AdBlock и uBlock. Težava ne vpliva na blokator izvora uBlock, saj ne podpira operaterja »rewrite«. Nekoč avtor uBlock Origin
zavrnil dodajte podporo za prepisovanje, pri čemer navajate morebitne varnostne težave in nezadostne omejitve na ravni gostitelja (namesto prepisovanja je bila predlagana možnost querystrip za čiščenje parametrov poizvedbe, namesto da bi jih nadomestili).

Razvijalci Adblock Plus menijo, da so pravi napadi malo verjetni, saj se pregledajo vse spremembe standardnih seznamov pravil, povezovanje seznamov tretjih oseb pa je med uporabniki izjemno redko. Zamenjava pravil prek MITM je preprečena s privzeto uporabo HTTPS za prenos standardnih seznamov blokiranih (za druge sezname je načrtovana prepoved prenosa prek HTTP v prihodnji izdaji). Navodila se lahko uporabljajo za blokiranje napada na strani spletnega mesta CSP (Content Security Policy), prek katerega lahko eksplicitno določite gostitelje, s katerih se lahko nalagajo zunanji viri.

Vir: opennet.ru

Dodaj komentar