Schwachstelle in Mac OS X seit Monaten ungepatcht

Neue Informationen zu einer seit rund sieben Monaten bekannten Sicherheitslücke könnten Apple nun zwingen, das Problem endlich zu beseitigen. Bei der Lücke handelt es sich um die fehlerhafte Implementierung der C-Funktion dtoa.

In Pocket speichern vorlesen Druckansicht 214 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Neue Informationen zu einer seit rund sieben Monaten bekannten Sicherheitslücke in Mac OS X könnten Apple nun zwingen, das Problem endlich zu beseitigen. Bei der Lücke handelt es sich um eine neue Instanz der fehlerhaften Implementierung der C-Funktion dtoa (double to ascii) zur Umwandlung von Gleitkommazahlen in Zeichenketten. Bei der Konvertierung kann es zu einem fehlerhaften Array-Index kommen, mit dem sich Teile des Speichers überschreiben lassen.

Durch die Schwachstelle kann ein Angreifer durch Angabe bestimmter Formatierungszeichen in Print-Funktionen einen Heap Overflow provozieren und so eigenen Code in ein System einschleusen und starten. Die Lücke ist allgemein seit Juni des vergangenen Jahres bekannt und wurde zumindest von den Browser-Hersteller Opera, Google und der Mozilla Foundation als (extrem) kritisch eingestuft und beseitigt. Auch OpenBSD, FreeBSD und NetBSD wiesen die Lücke auf. Dort ist sie aber ebenfalls schon geschlossen.

Nach Angaben des Entdeckers der Lücke Maksymilian Arciemowicz steckt der dtoa-Fehler in Mac OS X 10.5.x und 10.6.x, er lässt sich dort aber nicht über normale Print-Funktionen wie printf ausnutzen. Allerdings setzt die libc-Funktion strtod (string to double) ebenfalls den verwundbaren dtoa-Code ein, was sich wiederum mittels printf ausnutzen lässt. Arciemowicz hat ein kurzes Programm zur Demonstration veröffentlicht, das den Fehler provoziert – die Anwendung stürzt aber nur ab. Laut Arciemowicz sei es jedoch nicht schwer, durch gezielte Manipulation der ESI- und EDI-Registers eingeschleusten Code auszuführen. Dazu müsste ein Opfer nur eine manipulierte Webseite besuchen.

Warum Apple die bekannte Lücke in dtoa bislang nicht geschlossen hat, ist unbekannt. Arciemowicz vermutet, dass das bisherige Fehlen eines Proof-of-Concept-Exploits Apple im Glauben gelassen habe, dass sich der Fehler nicht ausnutzen ließe. Die anderen betroffenen Hersteller hätten nach der Information über die Schwachstellen jedoch meist zügig reagiert.

Eine ähnliche Fehleinschätzung einer Lücke in Java brachte Apple im vergangenen Jahr bereits einigen Ärger ein. Erst ein vom Sicherheitsspezialisten Landon Fuller veröffentlichter Exploit brachte Apple vermutlich dazu, eine aktualisierte Version von Java herauszugeben und die Lücke zu schließen.

Siehe dazu auch: