WWW2Exec - sips ICC Profile Out-of-Bounds Write (CVE-2024-44236)
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Overview
Ushirikiano wa kuandika nje ya mipaka katika parser ya profaili ya ICC ya Apple macOS Scriptable Image Processing System (sips
) (macOS 15.0.1, sips-307) kutokana na uhakiki usio sahihi wa uwanja wa offsetToCLUT
katika lebo za lutAToBType
(mAB
) na lutBToAType
(mBA
). Faili ya ICC iliyoundwa inaweza kusababisha kuandika sifuri hadi byte 16 baada ya buffer ya heap, ikiharibu metadata ya heap au viashiria vya kazi na kuwezesha utekelezaji wa msimbo wa kiholela (CVE-2024-44236).
Vulnerable Code
Kazi iliyo hatarini inasoma na kuweka sifuri byte 16 kuanzia kwenye offset inayodhibitiwa na mshambuliaji bila kuhakikisha inapatikana ndani ya buffer iliyotolewa:
// 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;
}
Tuangalia tu offsetToCLUT <= totalDataLength
. Kwa kuweka offsetToCLUT == tagDataSize
, mzunguko unafikia hadi byte 16 baada ya mwisho wa buffer
, ukiharibu metadata ya heap iliyo karibu.
Hatua za Utekelezaji
- Tengeneza profaili mbaya ya
.icc
:
- Jenga kichwa cha ICC (bytes 128) chenye saini
acsp
na kiingilio kimoja chalutAToBType
aulutBToAType
. - Katika jedwali la lebo, weka
offsetToCLUT
kuwa sawa nasize
ya lebo (tagDataSize
). - Weka data inayodhibitiwa na mshambuliaji mara moja baada ya block ya data ya lebo ili kuandika metadata ya heap.
- Chochea uchambuzi:
sips --verifyColor malicious.icc
- Uharibifu wa metadata ya heap: Kuandika sifuri OOB huandika metadata ya allocator au viashiria vya karibu, ikiruhusu mshambuliaji kuchukua udhibiti wa mtiririko na kufikia utekelezaji wa msimbo wa kiholela katika muktadha wa mchakato wa
sips
.
Athari
Utekelezaji wa mafanikio unapelekea utekelezaji wa msimbo wa kiholela kwa mbali kwa ruhusa ya mtumiaji kwenye mifumo ya macOS inayotumia zana ya sips
iliyo hatarini.
Ugunduzi
- Fuata uhamishaji wa faili kwenye protokali za kawaida (FTP, HTTP/S, IMAP, SMB, NFS, SMTP).
- Kagua faili zilizohamishwa zikiwa na saini
acsp
. - Kwa kila lebo
mAB
aumBA
, thibitisha ikiwa uwanja waOffset to CLUT
ni sawa naTag data size
. - Weka alama kama ya kutatanisha ikiwa hali hii inakidhi.
Marejeleo
- ZDI blog: CVE-2024-44236: Uthibitisho wa Utekelezaji wa Msimbo wa Mbali katika Zana ya Apple macOS sips https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
- Sasisho la Usalama la Apple Oktoba 2024 (patch inayopeleka CVE-2024-44236) https://support.apple.com/en-us/121564
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.