Sårbarhet i Adblock Plus som tillåter kodexekvering vid användning av tvivelaktiga filter

I Adblock Plus annonsblockerare identifieras sårbarhet, tillåter organisera exekvering av JavaScript-kod i sammanhang med webbplatser, i fallet med användning av overifierade filter som förbereds av angripare (till exempel vid anslutning av tredje parts regeluppsättningar eller genom ersättning av regler under en MITM-attack).

Författare till listor med uppsättningar av filter kan organisera exekveringen av sin kod i sammanhanget för webbplatser som öppnas av användaren genom att lägga till regler med operatören "omskrivning", som låter dig ersätta en del av URL:en. Omskrivningsoperatorn tillåter dig inte att ersätta värden i URL:en, men den tillåter dig att fritt manipulera begäransargumenten. Endast text kan användas som en ersättningsmask, och ersättning av skript-, objekt- och underdokumenttaggar är tillåtet blockerad.

Kodexekvering kan dock uppnås på en lösning.
Vissa webbplatser, inklusive Google Maps, Gmail och Google Bilder, använder tekniken att dynamiskt ladda körbara JavaScript-block, överförda i form av ren text. Om servern tillåter omdirigering av begäran kan vidarebefordran till en annan värd uppnås genom att ändra URL-parametrarna (till exempel i Googles sammanhang kan en omdirigering göras via API:n "google.com/search"). Förutom värdar som tillåter omdirigering kan en attack även utföras mot tjänster som tillåter postning av användarinnehåll (kodvärd, artikelpostningsplattformar etc.).

Den föreslagna attackmetoden påverkar endast sidor som dynamiskt laddar strängar av JavaScript-kod (till exempel via XMLHttpRequest eller Fetch) och sedan kör dem. En annan viktig begränsning är behovet av att använda en omdirigering eller placera godtyckliga data på sidan av den ursprungliga servern som utfärdar resursen. Men för att visa relevansen av attacken visas hur du organiserar exekveringen av din kod när du öppnar maps.google.com, med hjälp av en omdirigering via "google.com/search".

Fixningen är fortfarande under förberedelse. Problemet påverkar även blockerare AdBlock и ublocket. UBlock Origin-blockeraren påverkas inte av problemet, eftersom den inte stöder "rewrite"-operatören. En gång författaren till uBlock Origin
vägrade lägg till stöd för omskrivning, med hänvisning till potentiella säkerhetsproblem och otillräckliga begränsningar på värdnivå (ett querystrip-alternativ föreslogs istället för omskrivning för att rensa upp frågeparametrar istället för att ersätta dem).

Adblock Plus-utvecklare anser att riktiga attacker är osannolika, eftersom alla ändringar av standardlistorna med regler granskas, och att ansluta tredjepartslistor är extremt sällsynt bland användare. Ersättning av regler via MITM förhindras av standardanvändningen av HTTPS för nedladdning av standardblocklistor (för andra listor är det planerat att förbjuda nedladdning via HTTP i en framtida utgåva). Direktiv kan användas för att blockera en attack på webbplatsens sida CSP (Content Security Policy), genom vilken du uttryckligen kan bestämma värdarna från vilka externa resurser kan laddas.

Källa: opennet.ru

Lägg en kommentar