
Technischer Bericht zu CVE-2025-24104: eine iOS-Sandbox-Escape über eine Symlink-Validierungs-Umgehung bei der Backup-Wiederherstellung, die beliebige Dateilesevorgänge außerhalb der Sandbox ermöglicht.
Ich meldete einen Fehler, den Apple später als CVE-2025-24104 führte. In meinem ursprünglichen Bericht zeigte ich, wie ein bösartiges Backup verwendet werden konnte, um Sandbox-Einschränkungen zu umgehen. Apples erste Beschreibung besagte jedoch, dass diese Schwachstelle zu Änderungen an geschützten Systemdateien führen könnte. Ich möchte das richtigstellen: Dieser Fehler erlaubt es einem Angreifer tatsächlich, beliebige Dateien außerhalb der Sandbox zu lesen.
Als ich mich eingehend mit dem Problem befasste, stellte ich fest, dass die Schwachstelle aus einem Mangel an ordnungsgemäßer Symlink-Validierung während des Backup-Wiederherstellungsprozesses resultiert. Genauer gesagt: Wenn Sie ein Backup erstellen, bei dem die Datei
/private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles/CloudConfigurationDetails.plist
durch einen symbolischen Link ersetzt wird, liest das System am Ende eine Datei Ihrer Wahl – selbst wenn diese außerhalb der Sandbox liegt.
Der Fehler:
Der Lockdown-Dienst mc_mobile_tunnel prüft nicht, ob CloudConfigurationDetails.plist ein Symlink ist. Ist dies der Fall, folgt der Dienst dem Link, sodass ein Angreifer den Inhalt jeder eingeschränkten Datei abrufen kann.
Schritte zum Reproduzieren:
CloudConfigurationDetails.plist ein Symlink ist, der auf eine beliebige eingeschränkte Datei zeigt.GetCloudConfiguration an den Dienst com.apple.mobile.MCInstall. Anstatt den erwarteten Dateiinhalt zu erhalten, gab der Dienst den Inhalt der Datei zurück, auf die mein Symlink zeigte.Die Fähigkeit, beliebige Dateien außerhalb der Sandbox zu lesen, ist ein ernstes Problem. Es bedeutet, dass sensible Systemdaten, die geschützt bleiben sollten, Angreifern ausgesetzt werden könnten. Dies ist kein kleiner Fehler – es ist ein grundlegender Sicherheitsfehler in der Handhabung von Backups.
Um dies zu beheben, benötigt der Backup-Wiederherstellungsprozess eine strengere Prüfung:
CloudConfigurationDetails.plist gelesen wird, sollte der Dienst überprüfen, ob es sich um eine reguläre Datei und nicht um einen Symlink handelt. Handelt es sich um einen Symlink, sollte die Wiederherstellung entweder abgelehnt oder sicher verarbeitet werden.Mit der Veröffentlichung von iOS 18.3 führte Apple zusätzliche Prüfungen im ManagedConfiguration-Framework ein, um alle im Ordner ConfigurationProfiles gefundenen Symlinks zu entfernen. Insbesondere:
MCRemoveFileIfSymlink wurde hinzugefügt.MCFixHostileSymlinks aufgerufen.ConfigurationProfiles als Symlink identifiziert wird, wird sie sofort gelöscht.Sie können die Bindiff-Details hier sehen:
https://github.com/blacktop/ipsw-diffs/blob/main/18_2_22C152__vs_18_3_22D5034e/DYLIBS/ManagedConfiguration.md
Unten ist ein Screenshot meines eigenen Diffs, der zeigt, wo die neuen Prüfungen hinzugefügt wurden:

Es ist erwähnenswert, dass diese neue Absicherung das Problem nicht zu 100% behebt. Ich habe bereits eine Methode gefunden, sie zu umgehen, da Apple meinen empfohlenen Fix nicht implementiert hat, aber ich werde diese Details für mich behalten.
Dies ist mein persönlicher Bericht über CVE-2025-24104, der betont, dass Apples ursprüngliche Beschreibung daneben lag. Das wahre Risiko ist das unbefugte Lesen von Dateien außerhalb der Sandbox, nicht Änderungen an Systemdateien.
Exploit gefunden von Hichem Maloufi (ifpdz)