Adblock Plus'ta şüpheli filtreler kullanılırken kod yürütülmesine izin veren güvenlik açığı

Adblock Plus reklam engelleyicide tanımlanmış güvenlik açığı, izin vermek Saldırganlar tarafından hazırlanan doğrulanmamış filtrelerin kullanılması durumunda (örneğin, üçüncü taraf kural kümelerine bağlanırken veya bir MITM saldırısı sırasında kuralların değiştirilmesi yoluyla) JavaScript kodunun siteler bağlamında yürütülmesini organize edin.

Filtre kümeleri içeren listelerin yazarları, " operatörüyle kurallar ekleyerek, kullanıcı tarafından açılan siteler bağlamında kodlarının yürütülmesini düzenleyebilirler.yeniden yazmak", URL'nin bir kısmını değiştirmenize olanak tanır. Yeniden yazma operatörü, URL'deki ana bilgisayarı değiştirmenize izin vermez, ancak istek bağımsız değişkenlerini serbestçe değiştirmenize olanak tanır. Değiştirme maskesi olarak yalnızca metne izin verilir ve komut dosyası, nesne ve alt belge etiketlerinin değiştirilmesine izin verilir bloke.

Ancak geçici bir çözümle kod yürütme gerçekleştirilebilir.
Google Haritalar, Gmail ve Google Görseller dahil olmak üzere bazı siteler, çıplak metin biçiminde iletilen yürütülebilir JavaScript bloklarını dinamik olarak yükleme tekniğini kullanır. Sunucu, isteğin yeniden yönlendirilmesine izin veriyorsa, URL parametreleri değiştirilerek başka bir ana bilgisayara yönlendirme yapılabilir (örneğin, Google bağlamında, API aracılığıyla bir yönlendirme yapılabilir)google.com/search"). Yönlendirmeye izin veren hostların yanı sıra, kullanıcı içeriklerinin yayınlanmasına izin veren servislere (kod hosting, makale yayınlama platformları vb.) karşı da saldırı gerçekleştirilebilir.

Önerilen saldırı yöntemi yalnızca JavaScript kodu dizelerini dinamik olarak yükleyen (örneğin, XMLHttpRequest veya Fetch yoluyla) ve ardından bunları çalıştıran sayfaları etkiler. Bir diğer önemli sınırlama, kaynağı sağlayan orijinal sunucunun yanına bir yönlendirme kullanma veya rastgele veri yerleştirme ihtiyacıdır. Ancak, saldırının alaka düzeyini göstermek için, “google.com/search” üzerinden bir yönlendirme kullanarak, haritalar.google.com'u açarken kodunuzun yürütülmesini nasıl organize edeceğiniz gösterilir.

Düzeltme halen hazırlık aşamasındadır. Sorun aynı zamanda engelleyicileri de etkiliyor AdBlock и uBlock. uBlock Origin engelleyici, "yeniden yazma" operatörünü desteklemediğinden sorundan etkilenmez. Bir zamanlar uBlock Origin'in yazarı
Reddediyorum olası güvenlik sorunlarını ve yetersiz ana bilgisayar düzeyindeki kısıtlamaları öne sürerek yeniden yazma desteği ekleyin (sorgu parametrelerini değiştirmek yerine temizlemek için yeniden yazma yerine bir sorgu şeridi seçeneği önerildi).

Adblock Plus geliştiricileri, standart kural listelerindeki tüm değişiklikler gözden geçirildiğinden ve kullanıcılar arasında üçüncü taraf listelerine bağlanmak son derece nadir olduğundan, gerçek saldırıların olası olmadığını düşünüyor. MITM aracılığıyla kuralların değiştirilmesi, standart engelleme listelerini indirmek için HTTPS'nin varsayılan kullanımıyla engellenir (diğer listeler için gelecekteki bir sürümde HTTP yoluyla indirmenin yasaklanması planlanmaktadır). Yönergeler site tarafındaki bir saldırıyı engellemek için kullanılabilir CSP (İçerik Güvenliği Politikası), harici kaynakların yüklenebileceği ana bilgisayarları açıkça belirleyebileceğiniz.

Kaynak: opennet.ru

Yorum ekle