Az Adblock Plus reklámblokkolóban sebezhetőség, JavaScript-kód végrehajtása a weboldalak kontextusában, ha nem ellenőrzött szűrőket használnak, amelyeket rosszindulatú felhasználók készítettek (például harmadik fél szabálykészletek csatlakoztatásával vagy a szabályok rövidítésével a MITM-támadás során).
A szűrőlisták szerzői a " operátor hozzáadásával szervezhetik meg a kódjuk végrehajtását az általuk megnyitott weboldalak kontextusában,amely lehetővé teszi egy URL részének cseréjét. Az átírási operátor nem teszi lehetővé a hoszt URL-ben való cseréjét, de szabad manipulációt tesz lehetővé a kérdéses argumentumokkal. Csak szöveget lehet használni az helyettesítő maszként, míg a script, object és subdocument tagek beillesztése nem megengedett. .
Mindazonáltal kód végrehajtása megkerülő úton is megvalósítható.
Egyes weboldalak, köztük a Google Maps, a Gmail és a Google Images, dinamikus betöltési technikát alkalmaznak a végrehajtandó JavaScript-blokkokhoz, amelyeket nyers szöveg formájában adnak át. Ha a kiszolgáló lehetőséget biztosít a kérés átirányítására, akkor a másik hosztra történő átirányítást is elérhetjük az URL paramétereinek módosításával (például a Google esetében az átirányítás az API-n keresztül is végrehajtható)). Az átirányítást engedélyező hosztok mellett a támadás olyan szolgáltatások ellen is végrehajtható, amelyek felhasználói tartalom tárolását engedélyezik (kódhosting, cikkmegosztó platformok stb.).
A javasolt támadási módszer csak azokat az oldalakat célozza meg, amelyek dinamikusan betöltik a JavaScript kódokat (például XMLHttpRequest vagy Fetch segítségével), majd végrehajtják azokat. Egy másik fontos korlátozás a kiszolgáló oldalán végrehajtott átirányítás vagy a véletlenszerű adatok elhelyezése. Mindazonáltal a támadás relevanciájának bemutatására a következő példa mutatja be, hogyan lehet a saját kódunk végrehajtását megvalósítani a maps.google.com megnyitásakor a "google.com/search" átirányításon keresztül.
A javítás jelenleg folyamatban van. A probléma a blokkolókat is érinti, és . Az uBlock Origin blokkoló nem érintett a problémában, mivel nem támogatja az "átírás" operátort. Az uBlock Origin szerzője egyidejűleg dolgozott a megoldáson.
a rewrite támogatásának hozzáadása a potenciális biztonsági problémákra és a hoszton belüli korlátozások hiányosságaira hivatkozva (a rewrite helyett a querystrip opciót javasolták a kérdésparaméterek tisztítására ahelyett, hogy azokat lecserélnék).
Az Adblock Plus fejlesztői szerint valós támadások végrehajtása valószínűtlen, mivel az összes változtatás a hivatalos szabálylistákban felülvizsgálaton megy keresztül, és a harmadik féltől származó szabálylisták csatlakoztatása a felhasználók körében rendkívül ritka. A szabályok MITM általi módosítását kizárja a hivatalos szabálylisták HTTPS használatának alapértelmezett beállítása (a többi lista esetében a jövőbeli verzióban tervezik a HTTP letöltésének betiltását). A weboldalak elleni támadások megakadályozására direktívák alkalmazhatók. (Content Security Policy), amelyeken keresztül kifejezetten meghatározhatók azok a hosztok, ahonnan külső források betöltése engedélyezett.
Forrás: opennet.ru
