Ranljivost u Adblock Plusu koja omogućuje izvršavanje koda pri korištenju sumnjivih filtara

U blokatoru oglasa Adblock Plus otkrivena je ranjivost, omogućuje organizirati izvršenje JavaScript koda unutar konteksta web stranica, u slučaju korištenja neprovjerenih filtara pripremljenih od strane zlonamjernika (na primjer, prilikom povezivanja s vanjskim skupovima pravila ili putem zamjene pravila tijekom MITM napada).

Autori popisa sa skupovima filtara mogu organizirati izvršenje svog koda u kontekstu stranica koje korisnik otvara dodavši pravila s operatorom „rewrite«, koji omogućava zamjenu dijela URL-a. Operator rewrite ne omogućuje zamjenu hosta u URL-u, ali dopušta slobodno manipuliranje argumentima upita. Kao maska za zamjenu može se koristiti samo tekst, a zamjena s tagovima script, object i subdocument se blokira.

Ipak, izvođenje koda može se postići alternativnim 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 dopušta preusmjeravanje zahtjeva, moguće je preusmjeriti na drugi host zamjenom URL parametara (na primjer, u kontekstu Googlea redirekcija može biti izvedena putem API-a „google.com/search“). Osim hostova koji dopuštaju redirekciju, napad se također može provesti protiv usluga koje omogućuju objavljivanje korisničkog sadržaja (hostovi koda, platforme za objavljivanje članaka itd.).

Predložena metoda napada pogađa samo stranice koje dinamički učitavaju linije s JavaScript kodom (na primjer, putem XMLHttpRequest ili Fetch) i zatim ih izvršavaju. Drugo važno ograničenje je potreba za preusmjeravanjem ili postavljanjem proizvoljnih podataka na strani izvorog servera koji isporučuje resurs. Ipak, kao demonstracija relevantnosti napada prikazano je kako organizirati izvršenje vlastitog koda prilikom otvaranja maps.google.com, koristeći preusmjeravanje putem „google.com/search“.

Ispravak je još uvijek u fazi pripreme. Problem također pogađa blokatore AdBlock i uBlock. Blokator uBlock Origin nije podložan problemu jer ne podržava operator „rewrite“. U svoje vrijeme autor uBlock Origin
se povukao dodavanje podrške za rewrite, oslanjajući se na potencijalne probleme s sigurnošću i nedovoljno ograničenje na razini hosta (umjesto rewrite predložena je opcija querystrip za čišćenje parametara upita umjesto njihove izmjene).

Developers of Adblock Plus smatraju da je izvedba stvarnih napada malo vjerovatna, s obzirom na to da sve promjene u standardnim pravilnicima prolaze recenziju, a povezivanje s vanjskim listama iznimno je rijetko među korisnicima. Zamjena pravila putem MITM isključena je primjenom HTTPS-a po defaultu za učitavanje standardnih popisa blokiranja (za ostale popise planira se zabraniti učitavanje putem HTTP-a u budućem izdanju). Za blokiranje napada na strani web stranica mogu se koristiti direktive CSP (Content Security Policy), putem kojih se mogu izričito odrediti hostovi s kojih je dopušteno učitavanje vanjskih resursa.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster