Vundebleco en Adblock Plus, kiu ebligas kodan ekzekuton dum uzado de dubindaj filtriloj

En Adblock Plus reklamblokilo identigita vundebleco, permesante organizi la ekzekuton de JavaScript-kodo en la kunteksto de retejoj, en la kazo de uzado de nekontrolitaj filtriloj preparitaj de atakantoj (ekzemple, kiam ligado de triapartaj aroj de reguloj aŭ per anstataŭigo de reguloj dum MITM-atako).

Aŭtoroj de listoj kun aroj de filtriloj povas organizi la ekzekuton de sia kodo en la kunteksto de retejoj malfermitaj de la uzanto aldonante regulojn kun la operatoro "reverki", kiu ebligas al vi anstataŭigi parton de la URL. La reverka operatoro ne permesas al vi anstataŭigi la gastiganton en la URL, sed ĝi ebligas al vi libere manipuli la petajn argumentojn. Nur teksto povas esti uzata kiel anstataŭiga masko, kaj anstataŭigo de skribo, objekto kaj subdokumentaj etikedoj estas permesita blokita.

Tamen, koda ekzekuto povas esti atingita en solvo.
Iuj retejoj, inkluzive de Google Maps, Gmail kaj Google Images, uzas la teknikon de dinamike ŝargi ruleblajn JavaScript-blokojn, transdonitajn en formo de nuda teksto. Se la servilo permesas peton alidirekti, tiam plusendado al alia gastiganto povas esti atingita ŝanĝante la URL-parametrojn (ekzemple, en la kunteksto de Google, alidirektilo povas esti farita per la API "google.com/search"). Krom gastigantoj kiuj permesas alidirektilon, atako ankaŭ povas esti farita kontraŭ servoj, kiuj permesas la afiŝadon de uzantenhavo (kodgastigado, platformoj de afiŝado de artikoloj ktp.).

La proponita atakmetodo nur influas paĝojn kiuj dinamike ŝarĝas ĉenojn de JavaScript-kodo (ekzemple, per XMLHttpRequest aŭ Fetch) kaj poste plenumas ilin. Alia grava limigo estas la bezono uzi alidirektilon aŭ meti arbitrajn datumojn flanke de la origina servilo eldonanta la rimedon. Tamen, por pruvi la gravecon de la atako, estas montrite kiel organizi la ekzekuton de via kodo malfermante maps.google.com, uzante alidirektilon per "google.com/search".

La riparo estas ankoraŭ preparita. La problemo ankaŭ influas blokantojn AdBlock и uBlock. La uBlock Origin-blokilo ne estas tuŝita de la problemo, ĉar ĝi ne subtenas la "reskribi" funkciigiston. Siatempe la aŭtoro de uBlock Origin
rifuzis aldonu subtenon por reverko, citante eblajn sekurecproblemojn kaj nesufiĉajn gastigajn nivelajn restriktojn (demandstrip-opcio estis proponita anstataŭ reverki por purigi demandajn parametrojn anstataŭ anstataŭigi ilin).

Adblock Plus-programistoj konsideras verajn atakojn malprobablaj, ĉar ĉiuj ŝanĝoj al la normaj listoj de reguloj estas reviziitaj, kaj konekti triajn listojn estas ege malofta inter uzantoj. Anstataŭigo de reguloj per MITM estas malhelpita per la defaŭlta uzo de HTTPS por elŝutado de normaj bloklistoj (por aliaj listoj estas planite malpermesi elŝuton per HTTP en estonta eldono). Direktivoj povas esti uzataj por bloki atakon ĉe la retejo CSP (Politiko pri Sekureco de Enhavo), per kiu vi povas eksplicite determini la gastigantojn de kiuj eksteraj rimedoj povas esti ŝargitaj.

fonto: opennet.ru

Aldoni komenton