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

Reading time: 3 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Übersicht

Eine Out-of-Bounds-Write-Sicherheitsanfälligkeit im ICC-Profilparser des Apple macOS Scriptable Image Processing System (sips) (macOS 15.0.1, sips-307) aufgrund unzureichender Validierung des offsetToCLUT-Feldes in den lutAToBType (mAB ) und lutBToAType (mBA ) Tags. Eine manipulierte ICC-Datei kann Null-Schreibvorgänge bis zu 16 Bytes über den Heap-Puffer hinaus auslösen, was die Heap-Metadaten oder Funktionszeiger beschädigt und die Ausführung beliebigen Codes ermöglicht (CVE-2024-44236).

Verwundbarer Code

Die verwundbare Funktion liest und setzt 16 Bytes auf Null, beginnend von einem vom Angreifer kontrollierten Offset, ohne sicherzustellen, dass dieser innerhalb des zugewiesenen Puffers liegt:

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

Nur eine Überprüfung offsetToCLUT <= totalDataLength wird durchgeführt. Durch Setzen von offsetToCLUT == tagDataSize indiziert die Schleife bis zu 16 Bytes über das Ende von buffer hinaus und korrumpiert benachbarte Heap-Metadaten.

Exploitation Steps

  1. Bösartiges .icc-Profil erstellen:
  • Erstellen Sie den ICC-Header (128 Bytes) mit der Signatur acsp und einem einzelnen lutAToBType oder lutBToAType Tag-Eintrag.
  • Setzen Sie in der Tag-Tabelle offsetToCLUT gleich der size des Tags (tagDataSize).
  • Platzieren Sie von Angreifern kontrollierte Daten unmittelbar nach dem Tag-Datenblock, um die Heap-Metadaten zu überschreiben.
  1. Parsing auslösen:
bash
sips --verifyColor malicious.icc
  1. Korrumpierung der Heap-Metadaten: Die OOB-Nullschreibvorgänge überschreiben die Allokator-Metadaten oder benachbarte Zeiger, wodurch der Angreifer die Kontrolle über den Fluss übernehmen und die Ausführung beliebigen Codes im Kontext des sips-Prozesses erreichen kann.

Impact

Erfolgreiche Ausnutzung führt zu einer Remote-Ausführung beliebigen Codes mit Benutzerprivilegien auf macOS-Systemen, die das anfällige sips-Dienstprogramm ausführen.

Detection

  • Überwachen Sie Dateiübertragungen über gängige Protokolle (FTP, HTTP/S, IMAP, SMB, NFS, SMTP).
  • Überprüfen Sie übertragene Dateien mit der Signatur acsp.
  • Überprüfen Sie für jedes mAB oder mBA Tag, ob das Feld Offset to CLUT der Tag data size entspricht.
  • Als verdächtig kennzeichnen, wenn diese Bedingung erfüllt ist.

References

  • ZDI-Blog: CVE-2024-44236: Remote Code Execution Vulnerability in Apple macOS sips Utility https://www.thezdi.com/blog/2025/5/7/cve-2024-44236-remote-code-execution-vulnerability-in-apple-macos
  • Apple Oktober 2024 Sicherheitsupdate (Patch für CVE-2024-44236) https://support.apple.com/en-us/121564

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