Temel Bilgiler
Açıklama veya Yama Tarihi: 5 Kasım 2020
Ürün: Apple iOS
Bildirim: https://support.apple.com/en-us/HT211929
Etkilenen Sürümler: iOS 14.1 ve öncekiler
İlk Yama Sürümü: iOS 14.2
Sorun/Bug Raporu: https://bugs.chromium.org/p/project-zero/issues/detail?id=2108
Yama CL: Yok
Hata Tanımlayıcı CL: Yok
Rapor Eden(ler): Google Project Zero'dan Ian Beer
Kod
Kavram Kanıtı: https://bugs.chromium.org/p/project-zero/issues/detail?id=2108
Sızma örneği: Yok
Analiz yaparken sızma örneğine erişiminiz var mıydı? Evet
Zafiyet
Hata sınıfı: Bilgi sızıntısı
Zafiyet detayları: Mach mesajları alırken yanlış boyut hesaplaması nedeniyle bir çekirdek bellek sızıntısı zafiyeti oluşur ve geçersiz bir kombinasyon istendiğinde. Zafiyet, saldırganın çeşitli kalloc boyut sınıflarından eski verileri sızdırma yeteneği verir.
Yama analizi: Yok
Bu zafiyetin nasıl bulunmuş olabileceği hakkında düşünceler (fazlama, kod denetimi, varyant analizi, vb.): Bu zafiyet muhtemelen fazlama ile bulunabilirdi eğer fazlam, başlatılmamış belleği keşfetmek üzere yapılandırılmış olsaydı (temel tahsis serbest değildir; yalnızca bu dört bayt okunmadan önce yazılmaz.) Hata ayrıca manuel analiz yoluyla da bulunabilirdi.
Hata bağlamı (tarihsel/mevcut/gelecek):
Sızma
Sızma yöntemi biliniyor mu? Evet
Sızma yöntemi: Hedefi açığa çıkarmak istediğiniz işaretçiyi doğru ofsette içeren hedef kalloc boyut sınıfını hazırlayın; bu durumda, rastgele boyutta kalloc tahsislerini portlara işaretçi göstericileri kullanarak doldurun. Bu tahsisleri serbest bırakın ve ardından bu mesajları alırken güvenlik açığını tetikleyin ve hedef işaretçinin 4 baytını okuyun. Diğer 4 baytı sızdırmak için mesajın boyutunu ayarlayın.
Sızma zincirinin bir parçası mı? Bu zafiyet, bir iOS sızma zincirinin bir parçası olarak kullanıldı. Safari RCE (CVE-2020-27930) 'den sonra ve çekirdek ayrıcalığı yükseltme (CVE-2020-27932) 'den önce kullanıldı.
Sonraki Adımlar
Varyant analizi için alanlar/yaklaşım (ve neden): Kullanıcı alanına kopyalanan ancak sıfır olarak başlatılmayan diğer karmaşık yapıları denetlemek.
Bulunan varyantlar: Yok
Yapısal İyileştirmeler
Bu zafiyetin bulunduğu temel özellik uzun zaman önce XNU'dan kaldırılmıştır; kodun uygun şekilde kaldırılması gerekiyordu. Kullanıcı alanına kopyalanacak ve doldurulacak tahsislerin, tahsis edildiğinde sıfırlanması, bu sorunu hafifletecek iyi bir savunma katmanı tedbiri olurdu.
0-gün tespit yöntemleri
Açıklama veya Yama Tarihi: 5 Kasım 2020
Ürün: Apple iOS
Bildirim: https://support.apple.com/en-us/HT211929
Etkilenen Sürümler: iOS 14.1 ve öncekiler
İlk Yama Sürümü: iOS 14.2
Sorun/Bug Raporu: https://bugs.chromium.org/p/project-zero/issues/detail?id=2108
Yama CL: Yok
Hata Tanımlayıcı CL: Yok
Rapor Eden(ler): Google Project Zero'dan Ian Beer
Kod
Kavram Kanıtı: https://bugs.chromium.org/p/project-zero/issues/detail?id=2108
Sızma örneği: Yok
Analiz yaparken sızma örneğine erişiminiz var mıydı? Evet
Zafiyet
Hata sınıfı: Bilgi sızıntısı
Zafiyet detayları: Mach mesajları alırken yanlış boyut hesaplaması nedeniyle bir çekirdek bellek sızıntısı zafiyeti oluşur ve geçersiz bir kombinasyon istendiğinde. Zafiyet, saldırganın çeşitli kalloc boyut sınıflarından eski verileri sızdırma yeteneği verir.
Yama analizi: Yok
Bu zafiyetin nasıl bulunmuş olabileceği hakkında düşünceler (fazlama, kod denetimi, varyant analizi, vb.): Bu zafiyet muhtemelen fazlama ile bulunabilirdi eğer fazlam, başlatılmamış belleği keşfetmek üzere yapılandırılmış olsaydı (temel tahsis serbest değildir; yalnızca bu dört bayt okunmadan önce yazılmaz.) Hata ayrıca manuel analiz yoluyla da bulunabilirdi.
Hata bağlamı (tarihsel/mevcut/gelecek):
Sızma
Sızma yöntemi biliniyor mu? Evet
Sızma yöntemi: Hedefi açığa çıkarmak istediğiniz işaretçiyi doğru ofsette içeren hedef kalloc boyut sınıfını hazırlayın; bu durumda, rastgele boyutta kalloc tahsislerini portlara işaretçi göstericileri kullanarak doldurun. Bu tahsisleri serbest bırakın ve ardından bu mesajları alırken güvenlik açığını tetikleyin ve hedef işaretçinin 4 baytını okuyun. Diğer 4 baytı sızdırmak için mesajın boyutunu ayarlayın.
Sızma zincirinin bir parçası mı? Bu zafiyet, bir iOS sızma zincirinin bir parçası olarak kullanıldı. Safari RCE (CVE-2020-27930) 'den sonra ve çekirdek ayrıcalığı yükseltme (CVE-2020-27932) 'den önce kullanıldı.
Sonraki Adımlar
Varyant analizi için alanlar/yaklaşım (ve neden): Kullanıcı alanına kopyalanan ancak sıfır olarak başlatılmayan diğer karmaşık yapıları denetlemek.
Bulunan varyantlar: Yok
Yapısal İyileştirmeler
Bu zafiyetin bulunduğu temel özellik uzun zaman önce XNU'dan kaldırılmıştır; kodun uygun şekilde kaldırılması gerekiyordu. Kullanıcı alanına kopyalanacak ve doldurulacak tahsislerin, tahsis edildiğinde sıfırlanması, bu sorunu hafifletecek iyi bir savunma katmanı tedbiri olurdu.
0-gün tespit yöntemleri
