CVE-2024-32876
Açıklama
NewPipe, Java ile yazılmış bir Android video akış uygulamasıdır. Kullanıcıların verilerini zahmetsizce yeni bir cihaza taşıyabilmeleri için yedeklerin dışa aktarılmasını ve içe aktarılmasını destekler. Ancak, 0.13.4 ile 0.26.1 arasındaki sürümlerde, güvenilmeyen bir kaynaktan yedek dosyası içe aktarmak Keyfi Kod Çalıştırma (Arbitrary Code Execution) ile sonuçlanabilirdi. Bunun nedeni, yedeklerin, uygun şekilde kısıtlanmadığı sürece uygulama içindeki herhangi bir sınıfın oluşturulmasına izin verebilen Java'nın Object Serialization Stream Protocol kullanılarak serileştirilmesi/serisizleştirilmesidir. Bu zafiyeti istismar etmek için bir saldırganın, istismarı içeren bir yedek dosyası oluşturması ve ardından bir kullanıcıyı bunu içe aktarmaya ikna etmesi gerekir. İçe aktarma işlemi sırasında kötü amaçlı kod çalıştırılır; bu durum uygulamanın çökmesine, NewPipe uygulamasından kullanıcı verilerinin çalınmasına, Android API'leri aracılığıyla zararlı işlemler yapılmasına ve Android OS'teki zafiyetler üzerinden Android JVM/Sandbox kaçışları denenmesine yol açabilir. Saldırı yalnızca kullanıcı kötü amaçlı bir yedek dosyasını içe aktardığında gerçekleşebilir, bu nedenle bir saldırganın, kullanıcıyı kontrol edebildiği bir kaynaktan yedek dosyası içe aktarması için kandırması gerekir. Kötü amaçlı yedek dosyasının uygulama detayları, saldırıya uğrayan kullanıcıdan veya üzerinde çalıştırıldıkları cihazdan bağımsız olabilir ve ek ayrıcalıklar gerektirmez. 0.13.4'ten 0.26.1'e kadar olan tüm NewPipe sürümleri savunmasızdır. NewPipe sürüm 0.27.0, şu işlemleri yaparak sorunu gidermektedir: Java'nın Object Serialization Stream Protocol çağrıldığında serisizleştirilebilecek sınıfları, Keyfi Kod Çalıştırmaya yol açamayacak sadece zararsız veri sınıflarını içeren bir beyaz liste ekleyerek kısıtlamak; Java'nın Object Serialization Stream Protocol ile serileştirilmiş yedekleri kullanımdan kaldırmak; tüm yeni oluşturulan yedekler için JSON serileştirmesini kullanmak (ancak geriye dönük uyumluluk için yedek zip dosyasına hala Java'nın Object Serialization Stream Protocol ile serileştirilmiş alternatif bir dosya dahil etmek); mevcut tek serileştirme modunun Java'nın Object Serialization Stream Protocol olduğu bir yedeği içe aktarmaya çalışırken kullanıcıya bir uyarı göstermek (gelecekte bu serileştirme modunun tamamen kaldırılacağı unutulmamalıdır).
Nasıl düzeltilir
Kaynaklarda bu zafiyet için düzeltilmiş sürüm ya da yama bağlantısı yok.
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| TeamNewPipe NewPipe | >= 0.13.4, < 0.27.0 | — |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.