Konkurrierende Ereignisse werfen Internet Explorer aus der Bahn
Verschachtelte XML-Tags und das wiederholte Auslösen von Timer-Events bringt den Internet Explorer zum Absturz. Unter Umständen lässt sich die Schwachstelle auch zum Einschleusen von Code missbrauchen, meint ein Sicherheitsexperte.
- Daniel Bachfeld
Der Sicherheitsspezialist Michal Zalewski hat eine Demo veröffentlicht, die den Internet Explorer 6 und 7 durch das Einlesen verschachtelter XML-Tags und wiederholtes Auslösen von Timer-Events zum Absturz bringt. Zalewski schließt nicht aus, dass sich der Angriff mit konkurrierenden Ereignissen auch zum gezielten Manipulieren des Speichers und damit zum Einschleusen und Ausführen von Code ausnutzen lässt. Allerdings sei dies sehr schwer zu bewerkstelligen, da das Timing genau stimmen müsse und die Übertragung des Inhalts einer Seite zum Rendern im Browser genau gesteuert werden müsse. Zalewskis Analysen zufolge steckt der Fehler in der XML-Bibliothek MSXML3.
Dass gleichzeitig und kurz hintereinander auftretende, konkurrierende Ereignisse in Skripten einen Browser aus der Bahn werfen können, zeigte sich bereits im Juli 2006 beim Firefox. Simultane durch JavaScript gesteuerte XPCOM-Events führten zum Zugriff auf gelöschte Timer-Objekte im Speicher, was zwar in der Regel nur zum Crash des Browsers führte, nach Einschätzung der Entwickler aber zumindest potenziell das Einschleusen und Ausführen von Code ermöglichte. Zwei Monate später wurde eine ebenfalls von Zalewski entdeckte Lücke beim synchronen Rendern von Inhalten im Firefox bekannt, die aufgrund von Speicherverletzungen ebenfalls zum Absturz führte. Auch hier schlossen die Entwickler nicht aus, dass sich ein System auf diesem Weg mit Schadcode infizieren ließ und stuften das Problem deshalb als kritisch ein.
Siehe dazu auch:
- Concurrency strikes MSIE (potentially exploitable msxml3 flaws), Fehlerbericht von Michal Zalewski
(dab)