Ranjivost Adblock Plus omogućava pokretanje koda treće strane

Nedavno otkriveno je da popularni blokator oglasa «Adblock Plus »ima ranjivost koja omogućava organiziranje izvršavanja JavaScript koda na web lokacijama, u slučaju korištenja neprovjerenih filtera koje su pripremile treće strane sa zlonamjernom namjerom (na primjer, povezivanjem skupova pravila treće strane ili zamjenom pravila tijekom MITM napada).

Navedi autore sa skupovima filtera mogu organizirati izvršavanje svog koda u kontekstu web mjesta dostupnih korisnik dodaje pravila s operatorom »$ rewrite«, koji omogućava zamjenu dijela URL-a.

Kako je moguće izvršenje ovog koda?

Izjava od $ rewrite ne dozvoljava zamjenu hosta u url-u, ali pruža priliku za slobodno manipulisanje argumentima zahtjeva.

Međutim, izvršavanje koda se može postići. Neke web lokacije, kao što su Google Maps, Gmail i Google Images, koriste se tehnikom dinamičkog učitavanja izvršnih JavaScript blokova koji se prenose u obliku običnog teksta.

Ako poslužitelj dopušta preusmjeravanje zahtjeva, tada se može proslijediti drugom hostu promjenom parametara URL-a (na primjer, u kontekstu Googlea, preusmjeravanje se može izvršiti putem API-ja »google.com/search«) .

Pored toga domaćini koji omogućavaju preusmjeravanje, također možete izvršiti napad protiv usluga koje dozvoljavaju lokaciju korisničkog sadržaja (hosting koda, platforma za plasiranje članaka itd.).

Metoda Predloženi napad utječe samo na stranice koje dinamički učitavaju nizove s JavaScript kodom (na primjer putem XMLHttpRequest ili Fetch), a zatim ih pokrenite.

Još jedno glavno ograničenje je potreba za korištenjem preusmjeravanja ili stavljanjem proizvoljnih podataka na stranu izvornog poslužitelja koji pruža resurs.

Međutim, kao demonstracija relevantnosti napada, pokazuje vam kako organizirati izvršavanje koda otvaranjem maps.google.com pomoću preusmjeravanja putem "google.com/search".

U stvari, zahtjevi za korištenje XMLHttpRequest ili Fetch za preuzimanje udaljenih skripti za pokretanje neće propasti kada se koristi opcija $ rewrite.

Također, otvoreno preusmjeravanje jednako je važno jer omogućava XMLHttpRequestu da čita skriptu s udaljene web lokacije, iako se čini da je iz istog izvora.

Oni već rade na rješavanju problema

Rješenje je još u pripremi. Problem također utječe na AdBlock i uBlock blokatore. UBlock Origin Blocker nije podložan problemu jer ne podržava operater »$ rewrite«.

U jednom trenutku, autor uBlock Origin odbio je dodati podršku za prepisivanje $, navodeći moguće sigurnosne probleme i nedovoljna ograničenja na razini hosta (umjesto prepisivanja, predložena je opcija querystrip za brisanje parametara upita umjesto da ih zamjenjuje).

Naša je odgovornost zaštititi svoje korisnike.

Uprkos vrlo niskom stvarnom riziku, odlučili smo ukloniti opciju $ rewrite. Stoga ćemo objaviti ažuriranu verziju Adblock Plus čim je to tehnički moguće.

To radimo iz predostrožnosti. Nije pokušana zlouporaba opcije prepisivanja i potrudit ćemo se da se to ne dogodi.

To znači da ne postoji prijetnja za bilo kojeg korisnika Adblock Plus-a.

DProgrameri Adblock Plus smatraju stvarne napade malo vjerojatnim, budući da se sve promjene na redovnim listama pravila pregledavaju i korisnici se vrlo rijetko bave povezivanjem popisa nezavisnih proizvođača.

Zamjena pravila putem MITM-a uklanja zadaću upotrebe HTTPS-a za učitavanje redovnih lista blokova (za preostale liste planirano je zabraniti preuzimanje HTTP-a u budućem izdanju).

Da biste blokirali napade sa strane web lokacija, Mogu se primijeniti CSP direktive (Politika sigurnosti sadržaja) putem koje možete izričito identificirati hostove s kojih se mogu učitati vanjski resursi.

Izvor: https://adblockplus.org, https://armin.dev


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.