WWW2Exec - sips ICC Profile Out-of-Bounds Write (CVE-2024-44236)

Reading time: 3 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Panoramica

Una vulnerabilità di scrittura fuori dai limiti nel parser del profilo ICC del sistema di elaborazione delle immagini scriptabile di Apple macOS (sips) (macOS 15.0.1, sips-307) a causa di una convalida impropria del campo offsetToCLUT nei tag lutAToBType (mAB ) e lutBToAType (mBA ). Un file ICC creato ad hoc può attivare scritture zero fino a 16 byte oltre il buffer heap, corrompendo i metadati dell'heap o i puntatori di funzione e abilitando l'esecuzione di codice arbitrario (CVE-2024-44236).

Codice Vulnerabile

La funzione vulnerabile legge e azzera 16 byte a partire da un offset controllato dall'attaccante senza garantire che si trovi all'interno del buffer allocato:

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;
}

Solo un controllo offsetToCLUT <= totalDataLength viene eseguito. Impostando offsetToCLUT == tagDataSize, il ciclo indicizza fino a 16 byte oltre la fine di buffer, corrompendo i metadati dell'heap adiacenti.

Passi di sfruttamento

  1. Crea un profilo .icc malevolo:
  • Costruisci l'intestazione ICC (128 byte) con la firma acsp e una singola voce di tag lutAToBType o lutBToAType.
  • Nella tabella dei tag, imposta offsetToCLUT uguale alla size del tag (tagDataSize).
  • Posiziona i dati controllati dall'attaccante immediatamente dopo il blocco di dati del tag per sovrascrivere i metadati dell'heap.
  1. Attiva l'analisi:
bash
sips --verifyColor malicious.icc
  1. Corruzione dei metadati dell'heap: Le scritture zero OOB sovrascrivono i metadati dell'allocatore o i puntatori adiacenti, consentendo all'attaccante di dirottare il flusso di controllo e ottenere l'esecuzione arbitraria di codice nel contesto del processo sips.

Impatto

Lo sfruttamento riuscito porta all'esecuzione remota di codice arbitrario con privilegi utente su sistemi macOS che eseguono l'utilità sips vulnerabile.

Rilevamento

  • Monitora i trasferimenti di file su protocolli comuni (FTP, HTTP/S, IMAP, SMB, NFS, SMTP).
  • Ispeziona i file trasferiti con la firma acsp.
  • Per ogni tag mAB o mBA , verifica se il campo Offset to CLUT è uguale alla Tag data size.
  • Segnala come sospetto se questa condizione è soddisfatta.

Riferimenti

  • ZDI blog: CVE-2024-44236: Vulnerabilità di Esecuzione Remota di Codice nell'Utilità sips di Apple macOS https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
  • Aggiornamento di Sicurezza di Apple di Ottobre 2024 (patch che risolve CVE-2024-44236) https://support.apple.com/en-us/121564

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