WWW2Exec - sips ICC Profili Sınır Dışı Yazma (CVE-2024-44236)

Reading time: 2 minutes

tip

AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking'i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Genel Bakış

Apple macOS Scriptable Image Processing System (sips) ICC profil ayrıştırıcısında (macOS 15.0.1, sips-307) lutAToBType (mAB ) ve lutBToAType (mBA ) etiketlerindeki offsetToCLUT alanının yetersiz doğrulaması nedeniyle bir sınır dışı yazma açığı bulunmaktadır. Özel olarak hazırlanmış bir ICC dosyası, yığın tamponunun 16 bayt ötesine kadar sıfır yazma işlemlerini tetikleyebilir, bu da yığın meta verilerini veya işlev işaretçilerini bozarak rastgele kod yürütülmesine olanak tanır (CVE-2024-44236).

Açık Kodu

Açık olan fonksiyon, bir saldırgan tarafından kontrol edilen bir ofsetten başlayarak 16 baytı okur ve sıfırlar, bunun tahsis edilen tampon içinde olup olmadığını kontrol etmeden:

c
// Pseudocode from sub_1000194D0 in sips-307 (macOS 15.0.1)
for (i = offsetToCLUT; i < offsetToCLUT + 16; i++) {
if (i > numberOfInputChannels && buffer[i] != 0)
buffer[i] = 0;
}

Sadece offsetToCLUT <= totalDataLength kontrolü yapılmaktadır. offsetToCLUT'yu tagDataSize olarak ayarlayarak, döngü buffer'ın sonundan 16 byte ötesine kadar indekslenir ve bitişik heap meta verilerini bozar.

Sömürü Adımları

  1. Kötü niyetli .icc profili oluşturun:
  • acsp imzası ile 128 byte'lık ICC başlığını ve tek bir lutAToBType veya lutBToAType etiket girişini oluşturun.
  • Etiket tablosunda, offsetToCLUT'yu etiketin size'ına (tagDataSize) eşit olarak ayarlayın.
  • Heap meta verilerini yazmak için etiket veri bloğunun hemen sonrasına saldırgan kontrolündeki verileri yerleştirin.
  1. Parselamayı tetikleyin:
bash
sips --verifyColor malicious.icc
  1. Heap meta veri bozulması: OOB sıfır-yazmaları, ayırıcı meta verilerini veya bitişik işaretçileri üzerine yazarak, saldırganın kontrol akışını ele geçirmesine ve sips süreci bağlamında rastgele kod yürütmesine olanak tanır.

Etki

Başarılı bir sömürü, macOS sistemlerinde kullanıcı ayrıcalığı ile uzaktan rastgele kod yürütülmesi ile sonuçlanır ve savunmasız sips aracını çalıştırır.

Tespit

  • Yaygın protokollerde (FTP, HTTP/S, IMAP, SMB, NFS, SMTP) dosya transferlerini izleyin.
  • acsp imzasına sahip aktarılan dosyaları inceleyin.
  • Her mAB veya mBA etiketi için, Offset to CLUT alanının Tag data size ile eşit olup olmadığını doğrulayın.
  • Bu koşul sağlanıyorsa şüpheli olarak işaretleyin.

Referanslar

  • ZDI blog: CVE-2024-44236: Apple macOS sips Aracındaki Uzaktan Kod Yürütme Açığı https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
  • Apple Ekim 2024 Güvenlik Güncellemesi (CVE-2024-44236 yamanın gönderilmesi) https://support.apple.com/en-us/121564

{{#include /banners/hacktricks-training.md}}