Wie behebe ich die Shellshock-Sicherheitsanfälligkeit in Debian Testing / Jessie?

38136
John Lawrence Aspden

Der Testbefehl

x='() { :;}; echo vulnerable' bash 

zeigt, dass meine Debian 8 (Jessie) -Installation auch bei den neuesten Updates anfällig ist. Untersuchungen haben gezeigt, dass es einen Patch für stabil und instabil gibt, das Testen jedoch nicht gepatcht wird.

Ich schätze, der Patch wird es in ein paar Tagen zum Testen schaffen, aber das sieht tatsächlich unangenehm aus, um paranoid zu sein. Gibt es eine Möglichkeit, das Paket von unstable zu installieren und zu installieren, ohne mein System zu beschädigen? Ein Upgrade auf unstable sieht so aus, als würde es mehr Probleme verursachen, als es löst.


Laut Bob gibt es eine zweite Shellshock-Schwachstelle, die in einem zweiten Patch behoben wird. Der Test dafür soll sein:

 env X='() { (a)=>\' bash -c "echo echo vuln"; [[ "$(cat echo)" == "vuln" ]] && echo "still vulnerable :(" 

Aber ich bin in Bash nicht geschickt genug, um herauszufinden, was das bedeutet oder warum es ein Problem ist. Auf jeden Fall macht es etwas seltsames, was auf 64-Bit-Systemen von bash_4.3-9.2_amd64.deb verhindert wird, das zum Zeitpunkt der Bearbeitung stabil und instabil ist, aber nicht in Jessie / testing.

Um dies für Jessie zu beheben, besorgen Sie sich die neueste Version von Bash und installieren Sie sie mit dpkg -i.

Jemenake bietet

wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.2_$(dpkg --print-architecture).deb 

als Befehl, der die Version 4.3-9.2 für Ihre Maschine erhält.

Und das können Sie mit folgendem verfolgen:

sudo dpkg -i bash_4.3-9.2_$(dpkg --print-architecture).deb 

um es zu installieren.

Sollten Sie weitere Patches von Unstable für Ihr Jessie- System benötigen, ist dies eindeutig der richtige Weg ( mutatis mutandis ).

24

7 Antworten auf die Frage

25
Tom Damon

Ich habe diese Antwort für die zusätzlichen Bash-Korrekturen bearbeitet, die am Montag veröffentlicht wurden.

Für Ubuntu 12.04 habe ich ein Update ausgeführt, musste aber auch die Installation für bash ausführen, um die Sicherheitsanfälligkeit zu beseitigen.

root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test 

Dieser Befehl zeigt an, dass das System anfällig ist. Führen Sie das Update aus.

apt-get update && apt-get -y upgrade 

Nochmal testen.

root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test" vulnerable this is a test 

Immer noch anfällig.

apt-get install -y bash 

Nochmal testen.

root@host:/home/ubuntu# 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 

Bearbeiten: Nachdem die zusätzlichen Patches veröffentlicht wurden, hat sich die Ausgabe geändert.

root@host:/home/ubuntu# env x='() { :;}; echo vulnerable' bash -c "echo this is a test" this is a test 

Yay! Fest. Dies sollte für andere Versionen funktionieren, aber ich habe es nicht über 12.04 hinaus getestet.

Runamoks Antwort unten funktioniert ebenfalls gut, also geben Sie ihm eine positive Bewertung!

Nur "apt-get update && apt-get install -y bash" scheint zu funktionieren. runamok vor 9 Jahren 6
Basierend auf der Antwort von @JabawokJayUK versage ich immer noch den ersten Test nach dem Bash-Update in Ubuntu 12.04. Birla vor 9 Jahren 0
Ich bekomme nur "das ist ein Test", aber nicht den Fehler und die Warnung. In meiner lokalen Maschine bekomme ich den Fehler, aber in meinem Server nicht. Was macht das? Ist mein Server gepatcht? Vielen Dank. elbaulp vor 9 Jahren 0
Es scheint, dass das Repository jetzt auf dem neuesten Stand ist, da ich den Schritt apt-get install -y nicht ausführen musste. Das Problem wurde bereits nach dem Upgrade behoben. user316566 vor 9 Jahren 0
Dies beantwortet wirklich nicht die Frage nach ** Debian ** Testing / Jessie. Ubuntu ist eine andere Distribution mit unabhängigen Paket-Repositorys und Patch-Zeitplänen. Bob vor 9 Jahren 1
Der Patch ist nicht vollständig. Versuchen Sie Folgendes: env -i X = () {(a) => \ 'bash -c' Echo-Datum '; cat echo` (https://bugzilla.redhat.com/show_bug.cgi?id=1141597#c23) Fabien Sa vor 9 Jahren 0
Funktioniert auch bei debian instabil GuySoft vor 9 Jahren 0
16
poncha

Eine Alternative zu Debian 6.0 (Squeeze), ohne Pakete von Debian 7 (Wheezy) abzurufen:

Verwenden Sie das LTS-Sicherheitsrepository, für das der Patch zurückportiert wurde.

Fügen Sie dies zu /etc/apt/sources.list:

#LTS security deb http://http.debian.net/debian/ squeeze-lts main contrib non-free deb-src http://http.debian.net/debian/ squeeze-lts main contrib non-free 

Dann laufen apt-get update && apt-get install bash.

Via: Linuxfragen

Funktioniert für Debian 6. Wir behalten die LTC-Sicherheit immer in der Liste! stanleyxu2005 vor 9 Jahren 0
5
wurtel

Laden Sie das Paket von Unstable über diesen Link herunter . Sie können die Abhängigkeiten auch dort überprüfen, obwohl es so aussieht, als ob die instabile Bash die gleichen Abhängigkeiten hat wie die Bash vom Testen. Installieren Sie das heruntergeladene Deb mit den folgenden Anweisungen.

dpkg -i 
Danke, ich habe das gemacht und das Problem behoben, ohne dass dabei irgendetwas zerstört wurde. Vermutlich wird es irgendwann im normalen Verlauf der Updates überschrieben? John Lawrence Aspden vor 9 Jahren 1
Der obige Link ist in Ordnung, wenn Sie einen Browser in einer GUI ausführen. Weniger, wenn Sie Luchs in einer Shell-Sitzung ausführen. Wenn Sie etwas möchten, das Sie direkt in Ihre Befehlszeile einfügen können, versuchen Sie es mit: `wget http://ftp.debian.org/debian/pool/main/b/bash/bash_4.3-9.1_$(dpkg --print-architecture) .deb` Sie erhalten die richtige Architektur für Ihre Box. Jemenake vor 9 Jahren 3
@ Jemenake Das solltest du als separate Antwort posten. Excellll vor 9 Jahren 1
Dies war definitiv die Antwort, die ich wollte, aber jetzt, da das Update es zu Jessie gemacht hat, denke ich, dass es besser ist, wenn die akzeptierte Antwort die ist, die die Leute jetzt suchen, also bewege ich den Haken. Trotzdem danke! John Lawrence Aspden vor 9 Jahren 0
Tatsächlich gibt es zwei Shellshock-Fehler, und der Fix für den zweiten ist jetzt in Sid, aber nicht in Jessie, also ist dies in der Tat immer noch die richtige Antwort (stellen Sie sicher, dass Sie 4.3-9.2 erhalten!), Auch wenn sich die Situation zweifellos löst bald. John Lawrence Aspden vor 9 Jahren 0
4
MGD_Toronto

apt-get updatevorher apt-get dist-upgradeund du bekommst den patch. Ich habe es einfach selbst gemacht und es wurde ein Bash-Upgrade durchgeführt, das das Problem behebt.

Das Problem war, dass das Debian-Testprogramm noch nicht über das aktualisierte Paket verfügte. Daher war das manuelle Herunterladen von Unstable und das Installieren die einfachste Lösung zu diesem Zeitpunkt. Die in dieser Antwort angegebene Lösung hätte nicht funktioniert. (Möglicherweise ist dies jetzt der Fall, da das Paket möglicherweise zum Testen migriert wurde.) wurtel vor 9 Jahren 2
Dies beantwortet die ursprüngliche Frage nicht, aber es ist das, was die Leute jetzt tun müssen, also akzeptiere ich es, damit es das erste ist, was die Leute sehen werden. Die 'echte' Antwort auf meine Schwierigkeit (es ist instabil und im Stall, aber nicht im Test), ist die Antwort von wurtel, indem man die neuen bash - ????. Deb und dpkg -i manuell herunterlädt. John Lawrence Aspden vor 9 Jahren 0
Ich denke auch, dass dies die Antwort für Ubuntu ist, jetzt, da sie ihren Fix richtig gepusht haben, und wahrscheinlich für alle anderen Debian-basierten Distributionen, die bis zu dem Punkt beibehalten werden, an dem Leute Fixes gepusht haben. John Lawrence Aspden vor 9 Jahren 0
Tatsächlich gibt es zwei Shellshock-Bugs, und das Update für den zweiten ist noch nicht zu Jessie gekommen. John Lawrence Aspden vor 9 Jahren 0
Dies ist immer noch eine gültige Lösung und wird solange bestehen bleiben, solange das Sicherheitsteam von Debian Testing Updates durchführt. Zum Zeitpunkt der OP-Frage hatten sie es möglicherweise noch nicht getestet. Eine weitere Option ist die Einstellung aller Benutzer für die Verwendung von Dash. Dies ist hauptsächlich ein Serverproblem und nicht MGD_Toronto vor 9 Jahren 0
etwas, das gewöhnliche Desktop-Benutzer in Panik geraten müssen. Wenn ein Paket im Upstream-Bereich beschädigt wird, könnte dies ein Problem sein. Abgesehen davon kann ich nicht verstehen, warum sich jemand als Desktop-Benutzer für diesen Angriff offen lässt. Die Blackhats müssen Zugriff auf die Shell erhalten und bash verwenden, um einen Angriff auszuführen. MGD_Toronto vor 9 Jahren 0
3
Marcos Maciel

Ich habe es auf meinem Hackintosh behoben durch:

$ brew install bash

$ x='() { :;}; echo vulnerable' bash bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' bash-4.3$  
Vergessen Sie nicht, das Gebräu vorher zu installieren ... Marcos Maciel vor 9 Jahren 2
1
Erik Duindam

Ich habe einen Artikel darüber geschrieben, wie man dies mit apt-get unter älteren Ubuntu-Versionen macht. Sie aktualisieren grundsätzlich Ihre sources.list auf den neuesten Stand und führen dann apt-get update und ein Upgrade von bash aus. Sie können es Schritt für Schritt lesen oder von hier aus einfügen .

Zusammenfassung:

sudo sed -i 's/YOUR_OS_CODENAME/trusty/g' /etc/apt/sources.list sudo apt-get update sudo apt-get install --only-upgrade bash 

Lesen Sie den Artikel, wenn Sie old-releases.ubuntu.com verwenden und vergessen Sie nicht, dass Sie es möglicherweise zurückändern möchten:

sudo sed -i 's/trusty/YOUR_OS_CODENAME/g' /etc/apt/sources.list 
ähm ... das verlässt Ihr System in der Datei sources.list bei Trusty. Beim nächsten Update führt das System ein Upgrade auf Trusty durch. Dadurch wird Ihr System auf jeden Fall beschädigt. strugee vor 9 Jahren 0
1
dubadu

Die feste Version (siehe Changelog ) für das Bash-Paket befindet sich jetzt in Debian 8 (Jessie) (siehe Paketinformationen ), Stand 2014-09-26 14:18 UTC.

Das zweite Update, das in den folgenden Kommentaren erwähnt wird, befindet sich jetzt auch im Jessie- Repository. Es ist keine Installation von instabil erforderlich. Siehe den Paketinformationslink oben.

Es ist nicht mehr nötig, von Unstable zu installieren.

Renn einfach:

# aptitude update 

gefolgt von:

# aptitude upgrade 

Stellen Sie dann sicher, dass die Sicherheitsanfälligkeit beseitigt ist (in einer neu geöffneten Shell):

$ x='() { :;}; echo vulnerable' bash bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' 
Behebt das Followup CVE-2014-7169 noch nicht. Bob vor 9 Jahren 0
@ Bob, ich denke das ist nur für Ubuntu relevant? Und vermutlich hat Ubuntu es schon behoben. John Lawrence Aspden vor 9 Jahren 0
@ JohnLawrenceAspden Nope. Versuchen Sie, "env X =" () {(a) => \ 'bash -c "echo echo vuln" auszuführen; [["$ (cat echo)" == "vuln"]] && echo "immer noch verwundbar :(" "- wenn es" immer noch verletzbar "druckt, ist das letztere noch nicht gepatcht. AFAIK, Jessie ist immer noch verwundbar Beachten Sie, dass dieser Befehl im aktuellen Verzeichnis eine Datei mit dem Namen "echo" erstellt, wenn er erfolgreich ist, und Sie müssen sie löschen, bevor Sie den Test erneut ausführen. Bob vor 9 Jahren 0
@ Bob, ich kann mir das nicht vorstellen, was macht das Semikolon? John Lawrence Aspden vor 9 Jahren 0
@ Bob, aber was auch immer es tut, du hast recht, dass ein Upgrade auf die Version 4.3-9.2 in Unstable es aufhält! John Lawrence Aspden vor 9 Jahren 0