Apple Safari JavaScriptCore Uzaktan Kod Yürütme Kusuru Ortalıkta Kullanılıyor


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

– Reklamcılık –
Hizmet Olarak SIEMHizmet Olarak SIEM

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ımEtkilenen SürümYamalı Sürüm
iOS17.7.1, 18.117.7.2, 18.1.1
vizyon işletim sistemi2.12.1.1
macOS Sekoya15.115.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:

  1. getIntTypedArrayStoreOperand() öğesini çağırın: İşlev, yazılan dizilerdeki depolama işlemlerini yönetmek için çağrılır.
  2. Yavaş Yol Ekle: Kayıtların dikkatli yönetimini gerektiren yavaş bir yol tanıtılabilir.
  3. 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.



Source link