Konsolen-Logo

ShellShock – Sicherheitsproblem bei der Unix-Shell $(bash)

closeDieser Beitrag wurde vor mehr als drei Monaten veröffentlicht. Bedenke bitte, dass die hier angebotene Information nicht mehr aktuell und gültig sein könnte. Informiere dich daher bitte auch an anderer Stelle über dieses Thema. Sollten sich neue Informationen ergeben haben, so kannst du mich auch gerne auf diese über einen Kommentar hinweisen. Vielen Dank!

Alle alten Version der Unix-Shell „bash“ enthalten eine kritische Sicherheitslücke (CVE-2014-6271), so dass man Befehle z.B. über CGI-Skripte oder via DHCP ausführen kann.  Ggf. benötigt nun dein Handy (z.B. CyanogenMod), dein Router oder deinen Mac / Linux / BSD und so weiter Software-Updates.

Teste dein System:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

vulnerable
this is a test

Nachdem man die aktuellen Updates eingespielt hat (z.B. via aptitude) dann sollte die Ausgabe folgendermaßen aussehen.

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x‘ this is a test

Technische Erklärung:

(http://seclists.org/oss-sec/2014/q3/650)
Das Problem ist, dass das man zwischen unterschiedlichen Bash-Instanzen Variablen und Funktionen teilen kann.

export foo='() { echo "bar" ; }'
bash -c 'foo'

Jede neue Bash-Instanz wird nun beim Start die Funktion „foo“  registrieren, so dass man diese Ausführen kann. Wenn man nun jedoch eine Funktion exportiert, führt die Bash den nächsten Befehl ebenfalls aus, da der String der „() {“ nicht korrekt geparst wird. Damit können wir nun Befehle ausführen, indem wir bestimmte Strings (Funktionsdefinitionen) an z.B. ein CGI-Skript übergeben.

Links:

http://www.heise.de/newsticker/meldung/Bash-Luecke-ShellShock-ist-noch-nicht-ausgestanden-2403607.html

http://www.heise.de/newsticker/meldung/ShellShock-Standard-Unix-Shell-Bash-erlaubt-das-Ausfuehren-von-Schadcode-2403305.html

http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025

 

Veröffentlicht von

voku

Lars Moelleken | Ich bin root, ich darf das!

  • Beobachter

    Wir BSD’er haben kein Problem. tcsh (FreeBSD und -Derivate) und ksh (OpenBSD) haben ja seltenst Bugs.

    Allerdings denke ich ernsthaft darüber nach, GPL-lizenzierte Software von meinem Server zu verbannen. FreeBSD hat ja eine Einstellung dafür. GPL-Entwicklung scheint fehlende QS zu fördern.

    • olf

      Jo.. Bei den BSD-Varianten kommt keine Sicherheitslücke zutage, weil sich schlicht und ergreifend kein Mensch dafür interessiert.

      • Beobachter

        1,9 Prozent Desktoplinuxer haben aber eine ziemlich große Klappe. :D

        BSD nutzte einst beinahe jeder, der einen Computer besaß – gab ja nix anderes. ;) (Das ist jetzt etwas übertrieben.)