CVE-2024-44308 olarak tanımlanan kritik bir güvenlik açığı, iOS, VisionOS ve macOS platformlarındaki Apple Safari’nin birden fazla sürümünü etkileyerek aktif olarak kullanıldı.
WebKit’in DFG JIT derleyicisinde bulunan bu kusur, uzaktan kod yürütülmesine (RCE) izin vererek önemli bir tehdit oluşturuyor.
Etkilenen Yazılım ve Sürümler


CVE-2024-44308 güvenlik açığından etkilenen yazılımları ve sürümlerini özetleyen bir tablo aşağıda verilmiştir:
Yazılım | Etkilenen Sürüm | Yamalı Sürüm |
iOS | 17.7.1, 18.1 | 17.7.2, 18.1.1 |
vizyon işletim sistemi | 2.1 | 2.1.1 |
macOS Sekoya | 15.1 | 15.1.1 |
Apple bu sorunu en son güncellemelerinde ele aldı: iOS 17.7.2, 18.1.1, VisionOS 2.1.1 ve macOS Sequoia 15.1.1.
KOBİ ve MSP Siber Güvenlik Liderleri için 2024 MITRE ATT&CK Sonuçlarından Yararlanma – Ücretsiz Web Seminerine Katılın
Keşif ve Analiz
Güvenlik açığı, Google’ın Tehdit Analizi Grubu’ndan Clément Lecigne ve Benoît Sevens tarafından bildirildi ve Kore Üniversitesi USELab’dan Dohyun Lee tarafından ayrıntılı olarak analiz edildi.
Bu kusur, Spekülatif JIT derleme süreci içinde Scratch2GPR kaydının yanlış tahsis zamanlamasından dolayı JavaScriptCore’daki kayıt bozulması sorunundan kaynaklanmaktadır.
Kusur, WebKit’teki DFGSpeculativeJIT.cpp dosyasını, özellikle de tamsayı tipindeki dizileri işleme yöntemini etkiliyor.
Kritik hata, yavaş bir yol izlendiğinde gereksiz bir kayıt tahsisine neden olabilecek getIntTypedArrayStoreOperand() işlevi çağrıldıktan sonra çizik2GPR kaydı tahsis edildiğinde ortaya çıkar.
Bu yanlış tahsis, tutarsız bir kayıt durumu yaratarak potansiyel güvenlik riskleri oluşturabilir.
Yamalı kod, çizik2GPR kaydının uygun şekilde yönetilmesini sağlayarak ve yavaş bir yol tanıtıldığında kayıt durumunun bütünlüğünü koruyarak işlem sırasını düzeltir.
Bu güvenlik açığına katkıda bulunan kod akışı şu şekilde özetlenebilir:
- getIntTypedArrayStoreOperand() öğesini çağırın: İşlev, yazılan dizilerdeki depolama işlemlerini yönetmek için çağrılır.
- Yavaş Yol Ekle: Kayıtların dikkatli yönetimini gerektiren yavaş bir yol tanıtılabilir.
- Yanlış Tahsis: scrap2GPR, kullanılmayan yavaş yoldan sonra yanlış şekilde tahsis edilir ve bu da potansiyel durum tutarsızlıklarına yol açar.
Kavram Kanıtı (PoC)
PoC kodu, henüz tamamlanmamış olsa da, güvenlik açığının tetiklenmesine ilişkin bilgiler sağlar. Savunmasız işlevlere ulaşmak için JavaScript nesnelerinin ve dizilerinin manipüle edilmesini içerir ve istismarın tamamlanması için daha fazla araştırma yapılmasını teşvik eder.
var ab = new ArrayBuffer(8);
var arr = new Int32Array(ab);
const confuser = {
valueOf() {
gc();
if (this.flag) {
return {x: 0x41414141};
}
return 0x1234;
},
flag: false
};
function jitMe(arr) {
let x = 0;
for(let i = 0; i < 10000; i++) {
if(i % 100 === 0) {
confuser.flag = !confuser.flag;
x = confuser;
} else {
x = i & 0xff;
}
arr[(i & 0xffff)] = x;
}
return arr;
}
for(let i = 0; i < 100; i++) {
jitMe(arr);
}
jitMe(arr);
Bu güvenlik açığının oluşturduğu riski azaltmak için kullanıcıların cihazlarını en son yazılım sürümlerine güncellemeleri önemle tavsiye edilir.
Bu olay, zamanında yazılım güncellemelerinin ve güvenlik kusurlarının sürekli izlenmesinin önemini vurgulamaktadır. Apple’ın bu güvenlik açığını hızla gidermeye yönelik tepkisi, platformlarını yeni ortaya çıkan tehditlere karşı korumaya yönelik devam eden çabaları vurguluyor.
Analyse Advanced Malware & Phishing Analysis With ANY.RUN Black Friday Deals : Get up to 3 Free Licenses.