macOS-Sicherheitslücke: Komplettes Dateisystem ohne Zugriffsrechte auslesbar

In mount_apfs steckte ein Bug, der Apples Systemschutz zumindest read-only aushebeln konnte. Ein Fix ist da, doch der ist eher ungewöhnlich.

In Pocket speichern vorlesen Druckansicht 96 Kommentare lesen
Apple Music Catalina

Ein Mac mit Catalina.

(Bild: Apple)

Lesezeit: 2 Min.

Im macOS-Terminalwerkzeug mount_apfs steckte bis vor kurzem ein Fehler, der es einem auf dem Mac eingeloggten Angreifer ohne die notwendigen Rechte ermöglichte, das komplette Dateisystem auszulesen. Entdeckt hat das Problem der Sicherheitsforscher Csaba Fitzl, der es auch an Apple gemeldet hat. Der Bug mit der CVE-ID 2020-9771 wurde in macOS 10.15.4 behoben – allerdings auf eine Art, die potenziell umgangen werden kann.

Die Lücke in mount_apfs erlaubte es, das Filesystem in Gänze als Read-only mit noowners-Flag zu mounten – der Trick lag darin, APFS-Time-Machine-Snapshots zu verwenden, die auf den meisten Macs vorhanden sind. Damit wurden nahezu alle Dateien zugänglich, inklusive denen auf der Daten-Partition, die dem User gehören.

Auslesbar waren Files von grundsätzlich jedem User auf dem System – obwohl dies Apples Schutz-Framework TCC, das schon in der Vergangenheit mit Sicherheitsproblemen auf sich aufmerksam gemacht hatte, eigentlich verhindern soll. Fitzl konnte sogar über den Gast-Zugang auf dem System Dateien von Admins auslesen.

Der Sicherheitsexperte fand heraus, dass das TCC-Framework bei lokal gemounteten Snapshots nicht griff – egal mit welchen Privilegien ein User auch ausgestattet war. Apples Fix ist allerdings nicht unproblematisch. Mit macOS 10.15.4 wird mount_apfs ebenfalls in TCC einbezogen. Allerdings funktioniert das nur, wenn der vollständige Festplattenzugriff (Full Disk Access, FDA) für das macOS-Terminal deaktiviert ist.

Problematisch daran ist vor allem, dass die FDA-Einstellungen für das Terminal auf dem Mac für alle Nutzer gelten. Hat ein Admin dem Terminal vollen Zugriff erlaubt, können auch andere User es verwenden, um den apfs_mount-Trick einzusetzen – selbst solche ohne Admin-Rechte. Fitzl zufolge verletzt dies weiterhin das grundlegende BSD-Sicherheitsmodell. Apple hat sich auf seine dementsprechenden Anmerkungen hin nicht erneut gemeldet – gab nur durch, dass man dies "untersuche". Für Nutzer zeigt sich, dass sie mit Full Disk Access für das Terminal sehr vorsichtig umgehen sollten. (bsc)