Tek bir kötü amaçlı site ziyareti Tor Browser’ı düşürebiliyor

Anasayfa » Tek bir kötü amaçlı site ziyareti Tor Browser’ı düşürebiliyor

Araştırmacılar, yalnızca tek bir kötü amaçlı web sayfası ziyaretinin Tor Browser’da uzaktan kod çalıştırmaya giden kapıyı açabildiğini ortaya koydu. CVE-2026-10702 olarak izlenen açık, tarayıcının renderer/content sürecinde kod yürütülmesine izin veriyor ve Mozilla bu hatayı High olarak sınıflandırarak Firefox 151.0.3 sürümünde kapattı. Bu açık, Firefox 147 ile 151.0.2 arasındaki kararlı sürümleri etkiliyor; Mozilla’nın duyurusunda Firefox ESR yer almazken, hatalı override Firefox ESR 140.12 sürümünde görünmüyor.

Nebula Security CEO’su Eten Zou, herhangi bir ayar değişikliğine ya da ek kullanıcı etkileşimine ihtiyaç olmadığını söyledi. Zou’ya göre zararlı bir sayfayı açmak istismar için yeterli. Araştırmacılar, Firefox’un bu hatalı sürümünü içeren her Tor Browser dağıtımının etkilenmiş olduğunu belirtiyor ancak hangi Tor sürümlerinin tam olarak kırılgan olduğu henüz netleştirilmiş değil. 28 Temmuz 2026 itibarıyla mevcut birincil kaynak kaydı, açığın sahada aktif olarak kullanıldığına dair bir kanıt sunmuyor.

Firefox zincirindeki hata Tor’a da taşındı

Açığın etkisi ilk aşamada Firefox’un sandbox içindeki content process’iyle sınırlı kalıyor. Buna karşın Nebula, CVE-2026-10702 için kamuya açık istismar kodu yayımladı ve bu hatayı IonStack adı verilen tarayıcıdan çekirdeğe uzanan zincirin ilk adımı olarak kullandı. Şirket, zinciri ARM64 tabanlı ve Android 17 çalışan bir cihaz üzerinde kurduğunu, yayımlanan uçtan uca kodun da desteklenen tek bir Google build’ine yönelik olduğunu aktardı. Zou, tarayıcı açığının ARM’a özgü olmadığını özellikle vurguladı. Nebula’nın yayımladığı kod, desteklenen ARM64 Android 17 derlemesi için Firefox 151.0 ofsetlerini de içeriyor.

Zou, istismarın her adımının mimariden bağımsız olduğunu, x86 yolunun daha kararlı göründüğünü ancak Nebula’nın bu mimari için tam zinciri henüz tamamlamadığını söyledi. Şirketin kamuya açtığı uçtan uca kodda, Firefox’taki açık ilk aşama olarak kullanılıyor; ikinci aşamada ise ayrı bir Linux çekirdeği zafiyeti devreye giriyor.

Firefox kullananların en güncel sürüme geçmesi gerekiyor. The Hacker News tarafından kaynak geçmişi incelenerek hatalı alias tanımının Mozilla tarafında Bug 1995077 ile ilişkilendirildiği, bunun Firefox 147 ile birlikte eklendiği görüldü. Aynı override Firefox 151.0.2 içinde de bulunuyor, 151.0.3 ile kaldırılmış durumda. Bu tablo, etkilenen kararlı sürüm aralığını Firefox 147 ile 151.0.2 arasına yerleştiriyor.

Nebula’nın teknik incelemesi, sorunun skipRegistration true ile çalıştığında MObjectToIterator içinde ortaya çıktığını gösteriyor. Firefox’un JIT derleyicisi, sık kullanılan JavaScript’i yerel makine koduna çevirirken hangi işlemlerin belleğe dokunabileceğini takip etmek zorunda. Buradaki işlem, görünüşte bir okuma gibi muamele gördü; oysa lazy property çözümlemesi yeni bir dynamic-slots buffer ayırıp eski buffer’ı serbest bırakabiliyordu. Global value numbering optimizasyonu daha sonra slots-buffer yüklemesini gereksiz saydı ve daha önce alınan işaretçiyi, artık geçersiz hale gelmiş olmasına rağmen yeniden kullandı.

Nebula’nın yayımladığı istismar zinciri, serbest bırakılan ayrımı yeniden ele geçiriyor, hidden-class işaretçisini sızdırıyor, sahte nesne kuruyor ve bir Uint8Array’i bozarak rastgele bellek okuma ve yazma yetkisi kazanıyor. Android tarafındaki kod ise bellek izinlerini değiştirip bir WebAssembly fonksiyon giriş noktasını ARM64 shellcode’una yönlendiriyor. Hatanın merkezinde dar bir derleyici sözleşmesi var: nesnenin dynamic-slots buffer’ını değiştirebilecek bir işlem, salt okuma gibi etiketlenmişti. Bu yanlış etiketleme, normalde geçerli olan optimizasyonun çalışma zamanı tarafından geçersiz kılınmış bir işaretçiyi elde tutmasına yol açtı.

Mozilla’nın kaynak seviyesindeki düzeltmesi, ObjectToIterator içindeki özel salt-okunur alias işlemeyi kaldırıyor ve ilgili iterator operasyonunu da buna göre değiştiriyor. Böylece optimizörün, mutasyon yapabilen bir adımı zararsız bir yükleme gibi görmesi ve eski işaretçiyi taşımaya devam etmesi engelleniyor. Firefox’u güncellemek, belgelenmiş tarayıcı giriş noktasını kapatıyor; ancak Nebula’nın aktardığı zincirdeki ikinci aşama olan GhostLock’u tek başına yamalamıyor.

IonStack’in ikinci aşaması ise ayrı bir Linux çekirdeği zafiyeti olan CVE-2026-43499. Nebula bu açığı GhostLock adıyla anıyor. CVE-2026-10702, uzaktan tarayıcı ayağını sağlıyor; CVE-2026-43499 ise desteklenen Android derlemesinde yetkiyi root seviyesine taşıyor. Zou, GhostLock’un doğrudan Firefox içinden çağrıldığını söyledi. Android’in daha zayıf sandbox yapısının istismarı kolaylaştırdığını ekleyen CEO, masaüstündeki daha güçlü bir sandbox’ın da bu saldırıyı durduracağına inanmadıklarını belirtti.

Mozilla’nın duyurusunda Firefox ESR için ayrı bir liste yer almıyor. The Hacker News’in kaynak incelemesine göre hatalı override, Firefox ESR 140.12 sürümünde bulunmuyor. Araştırmacıların aktardığı kayıtlar, CVE-2026-10702 için 28 Temmuz 2026 itibarıyla vahşi ortamda kullanıma dair birincil kaynak kanıtı sunmuyor.

Nebula, exploit materyalini kamuya açık şekilde yayımladı ve bunu IonStack zincirinin ilk adımı olarak konumlandırdı. Şirketin teknik analizine göre Firefox, lazy property çözümlemesiyle değişebilen bir işlemi okuma gibi ele aldığı için optimizasyon katmanı geçersiz bir pointer’ı koruyabildi. Güncelleme, bu hatalı yolun üzerine kapanıyor ve Firefox 151.0.3 ile birlikte override’ı kaldırıyor.

CVE-2026-10702 için NVD kaydı: https://nvd.nist.gov/vuln/detail/CVE-2026-10702

CVE-2026-43499 için NVD kaydı: https://nvd.nist.gov/vuln/detail/CVE-2026-43499