WWW2Exec - sips ICC Profile Out-of-Bounds Write (CVE-2024-44236)
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
Aperçu
Une vulnérabilité d’écriture hors limites dans le parseur de profil ICC du Système de Traitement d’Image Scriptable d’Apple macOS (sips) (macOS 15.0.1, sips-307) en raison d’une validation incorrecte du champ offsetToCLUT dans les balises lutAToBType (mAB ) et lutBToAType (mBA ). Un fichier ICC conçu peut déclencher des écritures nulles jusqu’à 16 octets au-delà du tampon de tas, corrompant les métadonnées du tas ou les pointeurs de fonction et permettant l’exécution de code arbitraire (CVE-2024-44236).
Code Vulnérable
La fonction vulnérable lit et met à zéro 16 octets à partir d’un décalage contrôlé par l’attaquant sans s’assurer qu’il se trouve dans le tampon alloué :
// 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;
}
Seule une vérification offsetToCLUT <= totalDataLength est effectuée. En définissant offsetToCLUT == tagDataSize, la boucle indexe jusqu’à 16 octets au-delà de la fin de buffer, corrompant les métadonnées de tas adjacentes.
Étapes d’exploitation
- Créer un profil
.iccmalveillant :
- Construire l’en-tête ICC (128 octets) avec la signature
acspet une seule entrée de taglutAToBTypeoulutBToAType. - Dans la table des tags, définir
offsetToCLUTégal à latailledu tag (tagDataSize). - Placer des données contrôlées par l’attaquant immédiatement après le bloc de données du tag pour écraser les métadonnées de tas.
- Déclencher l’analyse :
sips --verifyColor malicious.icc
- Corruption des métadonnées de tas : Les écritures zéro OOB écrasent les métadonnées de l’allocateur ou les pointeurs adjacents, permettant à l’attaquant de détourner le flux de contrôle et d’atteindre l’exécution de code arbitraire dans le contexte du processus
sips.
Impact
Une exploitation réussie entraîne l’exécution de code arbitraire à distance avec des privilèges utilisateur sur les systèmes macOS exécutant l’utilitaire sips vulnérable.
Détection
- Surveiller les transferts de fichiers sur des protocoles courants (FTP, HTTP/S, IMAP, SMB, NFS, SMTP).
- Inspecter les fichiers transférés avec la signature
acsp. - Pour chaque tag
mABoumBA, vérifier si le champOffset to CLUTest égal à laTaille des données du tag. - Signaler comme suspect si cette condition est remplie.
Références
- Blog ZDI : CVE-2024-44236 : Vulnérabilité d’exécution de code à distance dans l’utilitaire sips d’Apple macOS https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
- Mise à jour de sécurité d’Apple d’octobre 2024 (patch expédiant CVE-2024-44236) https://support.apple.com/en-us/121564
Tip
Apprenez et pratiquez le hacking AWS :
HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP :HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d’abonnement !
- Rejoignez le 💬 groupe Discord ou le groupe telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépôts github.
HackTricks

