Obskure Lücke durch Java-Konfigurationsdatei

Über eine Konfigurationsdatei von Java kann man eine beliebige Datei aus dem aktuellen Arbeitsverzeichnis starten.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.

Die Firma Arcos warnt vor einem Sicherheitsproblem, das sie File Planting nennt. Das soll eine Verallgemeinerung des DLL-Hijackings sein. Die Lücke beruht darauf, dass unter anderem Windows Bibliotheken bevorzugt aus dem aktuellen Arbeitsverzeichnis (Current Working Directory, kurz CWD) lädt. Wer es geschickt anstellt, kann so beim Start eines eigentlich harmlosen Programms eigenen (Schad-)Code nachladen lassen.

Als Beispiel für File Planting führt Arcos die Java-Konfigurationsdatei .hotspotrc an, in der man ein spezielles Fehlerbehandlungsprogramm angeben kann:

OnOutOfMemoryError="malicious.exe"

Das führt dazu, dass die Java Virtual Machine (JVM) beim Auftreten eines OutOfMemory-Fehlers das Programm malicious.exe startet – und zwar aus dem aktuellen Arbeitsverzeichnis. Das ist aber keineswegs das Verzeichnis, in dem das auslösende Java-Applet liegt, sondern das, in dem der Vater-Prozess, also im Zweifelsfall der Browser gestartet wurde. Dieses Verzeichnis dürfte aber in den seltensten Fällen unter der Kontrolle eines externen Angreifers stehen.

Insbesondere lässt sich damit das Problem nicht ausnutzen, indem man in einem bereits existierenden Browser-Fenster eine bösartige Web-Seite öffnet. Arcos verschleiert diese Tatsache, indem sie in der Fehlerbeschreibung davon ausgehen, dass der Anwender eine bösartige Web-Seite durch einen Doppelklick im Datei-Manager öffnet und damit den Browser startet. Damit wird dieses Verzeichnis zum CWD des Browsers und anschließend auch der JVM. Ein OutOfMemory-Error startet dann auch das Programm malicious.exe aus dem gleichen Verzeichnis. Ob diese Lücke tatsächlich als hochkritisch zu bewerten ist, wie es etwa Secunia tut, lässt sich bezweifeln. (ju)