Vulnerabilitat a Adblock Plus que permet l'execució de codi quan s'utilitzen filtres qüestionables

Al bloquejador d'anuncis Adblock Plus identificat vulnerabilitat, permetent organitzar l'execució de codi JavaScript en el context dels llocs, en el cas d'utilitzar filtres no verificats preparats per atacants (per exemple, quan es connecten conjunts de regles de tercers o mitjançant la substitució de regles durant un atac MITM).

Els autors de llistes amb conjunts de filtres poden organitzar l'execució del seu codi en el context de llocs oberts per l'usuari afegint regles amb l'operador ".nova versió", que us permet substituir part de l'URL. L'operador de reescriptura no us permet substituir l'amfitrió a l'URL, però sí que us permet manipular lliurement els arguments de la sol·licitud. Només el text es pot utilitzar com a màscara de substitució i es permet la substitució d'etiquetes d'script, objectes i subdocuments bloquejat.

Tanmateix, l'execució de codi es pot aconseguir amb una solució alternativa.
Alguns llocs, inclosos Google Maps, Gmail i Google Images, utilitzen la tècnica de càrrega dinàmica de blocs de JavaScript executables, transmesos en forma de text nu. Si el servidor permet la redirecció de sol·licituds, el reenviament a un altre amfitrió es pot aconseguir canviant els paràmetres de l'URL (per exemple, en el context de Google, es pot fer una redirecció a través de l'API "google.com/search"). A més dels amfitrions que permeten la redirecció, també es pot dur a terme un atac contra serveis que permeten la publicació de continguts d'usuari (allotjament de codi, plataformes de publicació d'articles, etc.).

El mètode d'atac proposat només afecta les pàgines que carreguen dinàmicament cadenes de codi JavaScript (per exemple, mitjançant XMLHttpRequest o Fetch) i després les executen. Una altra limitació important és la necessitat d'utilitzar una redirecció o col·locar dades arbitràries al costat del servidor original que emet el recurs. Tanmateix, per demostrar la rellevància de l'atac, es mostra com organitzar l'execució del vostre codi en obrir maps.google.com, mitjançant una redirecció a través de “google.com/search”.

La solució encara està en preparació. El problema també afecta els bloquejadors AdBlock и uBlock. El bloquejador uBlock Origin no es veu afectat pel problema, ja que no admet l'operador de "reescritura". Alguna vegada l'autor d'uBlock Origin
rebutjat afegir suport per a la reescriptura, citant possibles problemes de seguretat i restriccions insuficients a nivell d'amfitrió (es va proposar una opció querystrip en lloc de reescriure per netejar els paràmetres de consulta en lloc de substituir-los).

Els desenvolupadors d'Adblock Plus consideren que els atacs reals són poc probables, ja que es revisen tots els canvis a les llistes estàndard de regles i la connexió de llistes de tercers és extremadament rara entre els usuaris. La substitució de regles mitjançant MITM s'evita mitjançant l'ús predeterminat d'HTTPS per descarregar llistes de bloqueig estàndard (per a altres llistes es preveu prohibir la descàrrega mitjançant HTTP en una versió futura). Les directives es poden utilitzar per bloquejar un atac al costat del lloc CSP (Política de seguretat de contingut), mitjançant la qual podeu determinar explícitament els amfitrions des dels quals es poden carregar recursos externs.

Font: opennet.ru

Afegeix comentari