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
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
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:
// 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ı
- Kötü niyetli
.icc
profili oluşturun:
acsp
imzası ile 128 byte'lık ICC başlığını ve tek birlutAToBType
veyalutBToAType
etiket girişini oluşturun.- Etiket tablosunda,
offsetToCLUT
'yu etiketinsize
'ı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.
- Parselamayı tetikleyin:
sips --verifyColor malicious.icc
- 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
veyamBA
etiketi için,Offset to CLUT
alanınınTag 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}}