Die fehlende Prüfung von Umgebungsvariablen erlaubt die Ausführung von Shell-Code.
In der Bash-Shell wurde eine schwerwiegende Sicherheitslücke entdeckt . An Umgebungsvariablen lässt sich Shell-Code anhängen, den die Bash ungeprüft ausführt. Bei CGI-Webanwendungen, die allerdings heute recht selten geworden sind, kann diese Lücke sogar remote ausgenutzt werden.
Ein Beispiel für die Lücke ist in dem obigen Posting zu finden:
VAR=() { ignored; }; /bin/id
Wenn man diese Umgebung in eine Shell-Sitzung importiert, wird "/bin/id" ausgeführt. Weil die CGI-Spezifikation übergebene Variablen als Umgebungsvariablen umsetzt, ist die Lücke damit auch in CGI-Webanwendungen vorhanden.
Entdeckt wurde der Bug, der unter der ID CVE-2014-6271 geführt wird, von Stephane Chazelas. Für die Source-Code-Distribution der Bash gibt es Patches, die das Problem beheben, die Linux-Distributoren bieten großteils ebenfalls Updates für Bash-Pakete an.
VAR=() { ignored; }; /bin/id
Die Sicherheitsprobleme mit der Bash-Shell haben sich ausgeweitet, doch es gibt keinen Grund zur Panik.