În blocatorul de reclame Adblock Plus vulnerabilitatea, organizarea executării codului JavaScript în contextul site-urilor, atunci când se folosesc filtre verificate de către atacatori (de exemplu, prin conectarea unor seturi externe de reguli sau prin înlocuirea regulilor în timpul unui atac MITM).
Autorii listelor cu seturi de filtre pot organiza executarea propriului cod în contextul site-urilor deschise de utilizatori prin adăugarea de reguli cu operatorul „„, care permite înlocuirea unei părți a URL-ului. Operatorul rewrite nu permite înlocuirea gazdei în URL, dar oferă posibilitatea de a manipula liber argumentele cererii. Ca mască pentru înlocuire, este permisă utilizarea doar a textului, iar inserarea etichetelor script, object și subdocument .
Cu toate acestea, se poate obține executarea codului printr-o ocolire.
Unele site-uri, inclusiv Google Maps, Gmail și Google Images, utilizează tehnica încărcării dinamice a blocurilor de cod JavaScript executabile, trimise sub formă de text brut. Dacă serverul permite redirecționarea cererilor, se poate realiza redirecționarea către o altă gazdă prin modificarea parametrilor URL (de exemplu, în contextul Google, redirecționarea poate fi efectuată prin API „„). Pe lângă gazdele care permit redirecționarea, atacul poate fi realizat și împotriva serviciilor care permit găzduirea conținutului utilizatorilor (găzduiri de cod, platforme de articole etc.).
Metoda de atac propusă afectează doar paginile care încarcă dinamic șiruri cu cod JavaScript (de exemplu, prin XMLHttpRequest sau Fetch) și apoi le execută. O altă limitare importantă este necesitatea utilizării redirecționării sau a găzduirii de date arbitrare pe partea serverului sursă care furnizează resursa. Cu toate acestea, ca o demonstrație a relevanței atacului, este arătat cum să se organizeze executarea propriului cod la deschiderea maps.google.com, folosind redirecționarea prin „google.com/search”.
Corectarea este în prezent în curs de pregătire. Problema afectează de asemenea blocatoarele și . Blocatorul uBlock Origin nu este vulnerabil la această problemă, deoarece nu susține operatorul „rewrite”. La un moment dat, autorul uBlock Origin
a adăuga suport pentru rewrite, făcând referire la problemele potențiale de securitate și la insuficiența restricțiilor la nivel de gazdă (în loc de rewrite, a fost propusă opțiunea querystrip pentru a curăța parametrii cererii în loc de a-i înlocui).
Dezvoltatorii Adblock Plus consideră că atacurile reale sunt puțin probabile, deoarece toate modificările din listele de reguli standard sunt revizuite, iar conectarea la liste externe este practicată de utilizatori foarte rar. Înlocuirea regulilor prin MITM este exclusă prin utilizarea implicită a HTTPS pentru descărcarea listelor de blocare standard (pentru celelalte liste se plănuiește interzicerea descărcării prin HTTP în viitoarea versiune). Pentru a bloca atacurile pe partea site-urilor, se pot aplica directive (Content Security Policy), prin care se pot defini explicit gazdele de la care este permisă descărcarea resurselor externe.
Sursa: opennet.ro
