Chyba zabezpečení Adblock Plus umožňuje spuštění kódu třetí strany

Nedávno bylo zjištěno, že populární blokování reklam «Adblock Plus »má chybu zabezpečení, která umožňuje organizovat provádění kódu JavaScript na stránkách, v případě použití nevyzkoušených filtrů připravených třetími stranami se zlým úmyslem (například připojením sad pravidel třetích stran nebo nahrazením pravidel během útoku MITM).

Seznam autorů se sadami filtrů mohou organizovat provádění svého kódu v kontextu stránek přístupných internetu uživatel přidává pravidla pomocí operátoru »$ rewrite«, který umožňuje nahradit část URL.

Jak je toto spuštění kódu možné?

Prohlášení o $ rewrite neumožňuje nahradit hostitele v url, ale poskytuje příležitost svobodně manipulovat s argumenty žádosti.

Nicméně lze dosáhnout spuštění kódu. Některé weby, například Mapy Google, Gmail a Obrázky Google, používají techniku ​​dynamického načítání spustitelných bloků JavaScriptu přenášených ve formě prostého textu.

Pokud server umožňuje přesměrování požadavků, lze jej přeposlat jinému hostiteli změnou parametrů adresy URL (například v kontextu Google lze přesměrování provést prostřednictvím rozhraní API »google.com/search«) .

Kromě hostitelé, kteří umožňují přesměrování, můžete také spáchat útok proti službám, které umožňují umístění uživatelského obsahu (hostování kódu, platforma pro umístění článku atd.).

Metoda Navrhovaný útok ovlivní pouze stránky, které dynamicky načítají řetězce pomocí kódu JavaScript (například prostřednictvím XMLHttpRequest nebo Fetch) a poté je spusťte.

Dalším významným omezením je potřeba použít přesměrování nebo umístit libovolná data na stranu původního serveru, který poskytuje prostředek.

Nicméně, jako ukázka závažnosti útoku, vám ukáže, jak organizovat provádění kódu otevřením maps.google.com pomocí přesměrování přes „google.com/search“.

Ve skutečnosti požadavky na použití XMLHttpRequest nebo Fetch ke stažení vzdálených skriptů ke spuštění neuspějí, když je použita možnost $ rewrite.

Stejně důležité je také otevřené přesměrování, protože umožňuje XMLHttpRequest číst skript ze vzdáleného webu, i když se zdá, že je ze stejného zdroje.

Na řešení problému již pracují

Řešení je stále v přípravě. Problém se týká také blokátorů AdBlock a uBlock. UBlock Origin Blocker není náchylný k problému, protože nepodporuje operátor »$ rewrite».

Na jednom místě autor uBlock Origin odmítl přidat podporu přepsání $ s odvoláním na možné problémy se zabezpečením a nedostatečná omezení na úrovni hostitele (namísto přepsání byla navržena možnost querystrip, aby byly parametry dotazu vymazány, místo aby byly nahrazeny).

Je naší odpovědností chránit naše uživatele.

I přes velmi nízké skutečné riziko jsme se rozhodli odstranit možnost přepsání $. Proto vydáme aktualizovanou verzi Adblock Plus, jakmile to bude technicky možné.

Děláme to preventivně. Nepokoušeli jsme se o zneužití možnosti přepsání a uděláme vše pro to, abychom tomu zabránili.

To znamená, že žádný uživatel Adblock Plus nehrozí.

DVývojáři Adblock Plus považují skutečné útoky za nepravděpodobné, protože všechny změny pravidelných seznamů pravidel jsou kontrolovány a připojení seznamů třetích stran uživatelé praktikují velmi zřídka.

Substituce pravidel pomocí MITM ve výchozím nastavení odstraní použití HTTPS načíst pravidelné seznamy bloků (pro zbývající seznamy se plánuje zakázat stahování HTTP v budoucím vydání).

Chcete-li blokovat útoky na straně stránek, Lze použít směrnice CSP (Zásady zabezpečení obsahu), pomocí kterých můžete explicitně identifikovat hostitele, ze kterých lze načíst externí zdroje.

zdroj: https://adblockplus.org, https://armin.dev


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.