Seit dem 29. September 2014 ist eine neue Software-Sicherheitslücke öffentlich bekannt, welche sogar dem skandalösen Heartbleed-Bug ohne Probleme den Rang als Schwachstelle des Jahres abläuft.

Das Schadenspotentials der als Shellshock getauften Sicherheitslücke erhielt vom National Institute of Standards and Technology (NIST) die maximale Bewertung von 10. Namensgebend ist dabei ein Software-Fehler in dem Kommandozeileninterpreter Bash, welches auf den meisten Unix-Systemen inklusive fast aller Linux-Distributionen und Mac OS als Standard-Shell genutzt wird. Darüber hinaus kommt Bash auch teilweise in proprietären Geräte, wie z.B. Routern und Firewalls, zum Einsatz. Entsprechende Skripte und Exploits wurden ebenfalls bereits veröffentlicht, sodass auch unbedarfte Gelegenheitsangreifer in der Lage sind verwundbare Systeme anzugreifen.

Der von dem Entwickler Stéphane Chazelas entdeckte Fehler erlaubt es mittels Umgebungsvariablen in Bash beliebige Funktionen zu definieren, deren Inhalt verwundbare Bash-Versionen ungeprüft ausführen (CVE-2014-6271). Da der Fehler schon beim Parsen – also dem Einlesen – der Variable auftritt, muss die Funktion auch nicht zwingend aufgerufen werden, damit bösartiger Programmcode ausgeführt wird. Besonders betroffen von der Sicherheitslücke sind Webserver welche mit CGI-Anwendungen (Common Gateway Interface) arbeiten, da hier Aufrufparameter respektive Umgebungsvariablen direkt vom Client kontrolliert werden können. Weiterhin besteht eine Gefahr für SSH-Dienste, deren Nutzer unter Umständen durch die Ausführung von Bash-Skripten ihren eigentlichen beschränkten Rechtekontext erweitern können. Im Rahmen der Netzwerkkonfiguration über das Kommunikationsprotokoll DHCP setzen die DHCP-Clients mittels Bash ebenfalls Variablen, welche vom DHCP-Server kontrolliert werden können. Daher besteht die Möglichkeit für bösartige DHCP-Server die Clients durch das Ausführen von beliebigem Schadcode ebenso zu kompromittieren. Zudem kann auch der Druckerdaemon CUPS von autorisierten Anwendern für Angriffe missbraucht werden. Weitere Angriffsmöglichkeiten können bis jetzt nicht ausgeschlossen werden.

Anfällig für die Sicherheitslücke sind alle Bash-Versionen zwischen 1.14 und 4.3. Ob ein System für einen Shellshock-Angriff verwundbar ist, kann durch die Eingabe des Befehls

env x='() { :;}; echo shellshockverwundbar’ bash -c “”

überprüft werden. Wobei ein verwundbares System die Zeichenkette “shellshockverwundbar” ausgibt. Da die Sicherheitslücke zunächst unzureichend behoben wurde und daher – wie durch den Google-Forscher Tavis Ormandy demonstriert wurde – durch eine Anpassung des Angriffs weiterhin ausgenutzt werden konnte (CVE-2014-7169), sollte zudem der Befehl

env X='() { (a)=>\’ sh -c “echo shellshockverwundbar”; cat echo

getestet werden. Entsprechende Sicherheitsupdates stehen für alle gängigen Linux-Distributionen u.a. Ubuntu, Debian, OpenSuse, Fedora und RedHat bereit. Weiterhin sollten auch die Nutzer von alternativen Android-ROMs, wie z.B. CyanogenMod, die bereitgestellten Updates installieren, da diese im Gegensatz zu Googles Standard-ROM neben der Android-Shell zusätzlich Bash mitliefern. Apple arbeitet ebenfalls an einem Update, wobei noch kein konkreter Veröffentlichungstermin genannt wurde.

Neben den bisher genannten Lücken wurden zudem von den Entwicklern der Linux-Distribution Redhat zwei weitere Speicherzugriffsfehler – sogenannte Off-by-One-Fehler – im Parser-Code von Bash entdeckt. Bei den Erläuterungen zu diesen Fehlern, wird zudem eine noch unbekannte – vermutlich aus der Ferne ausnutzbare – Sicherheitslücke angesprochen, welche momentan ausschließlich mit dem Bash-Hauptentwickler diskutiert wird. Daher ist davon auszugehen, dass auch in den nächsten Tagen weitere Updates für Bash erscheinen werden, welche umgehend installiert werden sollten.