Wie kompiliere ich Bash neu, um Shellshock (die Remote-Exploits CVE-2014-6271 und CVE-2014-7169) zu vermeiden?

Angesichts der Tatsache, dass Bash 3.2 (die von OS X gelieferte Version) anfällig für den als „Shell Shock“ ( CVE-2014-6271 und CVE-2014-7169 ) bekannten Exploit zur Remote-Ausführung ist, wie kann ich Bash neu erstellen und mein System vor einem Offizieller Apple-Patch?

UPDATE: Beachten Sie, dass Apple jetzt den offiziellen Patch veröffentlicht hat. Siehe unten für Details.

Apple hat einen Fix veröffentlicht: support.apple.com/kb/DL1769
Der oben erwähnte OS X Bash Update 1.0-Patch ist spezifisch für OS X 10.9.5 oder höher – Hier sind alle: OS X 10.7.5 (Lion), OS X 10.8.5 (Mountain Lion), OS X 10.9.5 ( Außenseiter).
Ja, ich hatte die Links vor 9 Stunden hinzugefügt, aber sie wurden fälschlicherweise gelöscht. apple.stackexchange.com/revisions/146849/10
hat einen Gist gist.github.com/dnozay/395dcdef05c6b4b1836a erstellt , der die meisten Schritte enthält und bereits die Patches enthält (und unter OSX 10.6 funktionieren sollte).
@dnozay Danke für dein Wesentliches! Bitte aktualisieren Sie es so, dass es die Patches 55 und 56 (bereits verfügbar) und 57 (in Kürze verfügbar) enthält.
@OldPro, bitte pingen Sie mich an, wenn 57 draußen ist, und ich werde es aktualisieren.

Antworten (7)

Status

Apple hat Bash-Sicherheitsfixes für Shellshock und verwandte Schwachstellen als „ OS X Bash Update 1.0 “ veröffentlicht. Sie können über ein normales Systemupdate für Benutzer von OS X Mountain Lion v10.8.5 oder OS X Mavericks v10.9.5 installiert werden (sie sind im Sicherheitsupdate 2014-005 enthalten ) und können auch manuell installiert werden. Offizielle Apple-Fixes sind auch für OS X Lion v10.7.5 und OS X Lion Server v10.7.5 verfügbar, aber diese sind nur über einen manuellen Download verfügbar. Die Sicherheitsfixes sind je nach Betriebssystemversion über unterschiedliche URLs verfügbar:

(Wenn neue Patches veröffentlicht werden, fügen Sie sie hier ein, aber bewahren Sie bitte auch diese vorhandenen als Referenz auf.)

Der Apple-Patch kümmert sich um Shellshock und mehrere andere Schwachstellen und ist für die meisten Menschen in Ordnung. tl; dr Leute können hier aufhören zu lesen.

JEDOCH hat die Aufmerksamkeit, die der Shellshock-Bug auf Bash gelenkt hat, viele Forscher dazu veranlasst, Bash genau unter die Lupe zu nehmen, und es werden immer mehr (schwer auszunutzende) Schwachstellen gefunden. Wenn Sie sich große Sorgen um die Sicherheit machen (weil Sie vielleicht OS X Server ausführen, um eine öffentlich zugängliche Website zu hosten), dann möchten Sie vielleicht (versuchen) mit den Schwachstellen und Patches Schritt zu halten, während sie immer weiter rollen, indem Sie bash selbst kompilieren. Ansonsten mach dir keine Sorgen.

Achten Sie darauf, dass Apple ein weiteres Update veröffentlicht, um irgendwann in der Zukunft zu schlagen, wenn sich der Staub beim Auffinden weiterer Schwachstellen gelegt hat.


Ein offizieller Satz von Patches von Bash selbst für Bash 3.2, Patches 52, 53 und 54 (die den Bash 4.3-Patches 25, 26 und 27 entsprechen), ist verfügbar, die sowohl CVE-2014-6271 als auch CVE-2014-7169 beheben. sowie das unten angezeigte 'Game Over'. Dies wurde von mir ( @alblue ) getestet und der Beitrag wurde entsprechend aktualisiert (und dann wurden zusätzliche Aktualisierungen vorgenommen: siehe Revision 41 für den Beitrag, der bei Patch 54 aufhört).

Viele zusätzliche Sicherheitslücken wurden gegen bash gemeldet. Laut Michal Zalewskis Beitrag , wenn Sie Patch 54 (und vermutlich Apples offiziellen Patch) haben, „hat es keinen Sinn, sich über den Status dieser einzelnen Fehler Gedanken zu machen, da sie kein Sicherheitsrisiko mehr darstellen sollten:“

  • CVE-2014-6271 – Original RCE von Stephane gefunden. Behoben durch bash43-025 und entsprechende Einträge vom 24. September für andere Versionen.

  • CVE-2014-7169 – Dateierstellungs-/Tokenverbrauchsfehler von Tavis gefunden. Behoben von bash43-026 & Co (26. September)

  • CVE-2014-7186 – ein wahrscheinlich risikoloser 10+ Here-Doc-Absturz, der von Florian und Todd gefunden wurde. Behoben von bash43-028 & co (1. Okt.).

  • CVE-2014-7187 - ein nicht abstürzender, wahrscheinlich kein Sicherheitsrisiko aufweisender Off-by-One, der von Florian gefunden wurde. Behoben von bash43-028 & co (1. Okt.).

  • CVE-2014-6277 – Problem mit nicht initialisiertem Speicher, RCE mit ziemlicher Sicherheit von Michal Zalewski gefunden. Noch kein spezifischer Patch.

  • CVE-2014-6278 – Command Injection RCE gefunden von Michal Zalewski. Noch kein spezifischer Patch.

Es wird ziemlich verwirrend. Glücklicherweise hat Chet Ramey, der offizielle Bash-Maintainer, ein CVE zum Patch-Mapping gepostet . Sein Beitrag bezieht sich auf Patches für Bash 4.3, ich (@OldPro) habe sie in Patches für Bash 3.2 übersetzt, was für OS X gilt. Außerdem hat er seit diesem Beitrag Patch 57 veröffentlicht, also habe ich das unten hinzugefügt:

 bash32-052      CVE-2014-6271                           2014-09-24
 bash32-053      CVE-2014-7169                           2014-09-26
 bash32-054      exported function namespace change      2014-09-27 ("Game Over")
 bash32-055      CVE-2014-7186/CVE-2014-7187             2014-10-01
 bash32-056      CVE-2014-6277                           2014-10-02
 bash32-057      CVE-2014-6278                           2014-10-05

Siehe den Beitrag von David A. Wheeler für einen Zeitplan und weitere Details.

@alblue hat Build-Anweisungen bis Patch 55 gepostet. Ich (@OldPro) habe Patch 56 und 57 zu den Anweisungen hinzugefügt, aber nicht getestet.

Testen auf die ursprüngliche Schwachstelle

Sie können feststellen, ob Sie für das ursprüngliche Problem in CVE-2014-6271 anfällig sind, indem Sie diesen Test ausführen:

$ env x='() { :;}; echo vulnerable' bash -c 'echo hello'
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

Die obige Ausgabe ist ein Beispiel für eine nicht anfällige bashVersion. Wenn Sie das Wort vulnerablein der Ausgabe dieses Befehls sehen, bashsind Sie anfällig und sollten aktualisieren. Unten ist eine verwundbare Version von OS X 10.8.5:

Screenshot des Bash-Terminals, der die Schwachstelle in 10.8.5 zeigt

Testen auf die neue Schwachstelle

Es gab eine Aktualisierung des ursprünglichen Beitrags und Bash 3.2.52(1) ist immer noch anfällig für eine Variation der Schwachstelle, die in CVE-2014-7169 definiert ist

$ rm -f echo
$ env X='() { (a)=>\' sh -c "echo date"; cat echo
sh: X: line 1: syntax error near unexpected token `='
sh: X: line 1: `'
sh: error importing function definition for `X'
Thu 25 Sep 2014 08:50:18 BST

Die obige Ausgabe ist ein Beispiel für eine anfällige bashVersion. Wenn Sie in der Ausgabe dieses Befehls ein Datum sehen, bashsind Sie angreifbar.

Deaktivieren von automatisch importierten Funktionen, um "Game Over" zu verhindern

Forscher stellten fest, ohne es als Schwachstelle einzustufen, dass ein Skript eine Funktion in einer Subshell mit automatisch importierten Funktionen entführen könnte:

$ env ls="() { echo 'Game Over'; }" bash -c ls
Game over

Der obige Code würde auf einem betroffenen System Game Overanstelle der erwarteten Verzeichnisliste angezeigt werden ls. Offensichtlich echo 'Game Over'könnte es durch jeden beliebigen schändlichen Code ersetzt werden. Dies wurde als „Game Over“-Bug bekannt.

Vor der Verfügbarkeit von Patch 54 deaktivierten sowohl NetBSD als auch FreeBSD automatisch importierende Bash-Funktionen standardmäßig, teilweise um "Game Over" zu verhindern, aber hauptsächlich, um weitere Fehler im Parser (wie CVE-2014-7169 ) so einzudämmen, wie sie waren weiterhin entdeckt und ein neues Befehlszeilen-Flag hinzugefügt--import-functionsum das alte Standardverhalten wieder zu aktivieren. Ich (@alblue) habe einen Patch (gegen 3.2.53) vorbereitet, den andere verwenden können, wenn sie dieses Verhalten ebenfalls übernehmen möchten, und ihn unten eingefügt. Standardmäßig ist dieser Patch im folgenden Build-Skript nicht aktiviert. Ich (@OldPro) glaube, dass dieser Patch nicht mehr notwendig oder eine gute Idee ist, da er die Abwärtskompatibilität unterbricht und die Schwachstellen, vor denen er schützt, durch Patch 54 und frühere Patches sehr gut behoben werden, und die Aktivierung dieses inoffiziellen Patches verhindert, dass zukünftige Patches angewendet werden .

(Hinweis für Frageneditoren; bitte aktivieren Sie dies nicht standardmäßig, da es sich um einen inoffiziellen Patch handelt.)

a0c5c4d66742fddd0a35001cb91798a5fbf8a2f5 import_functions.patch

Der Patch kann aktiviert werden, indem er ausgeführt wird, export ADD_IMPORT_FUNCTIONS_PATCH=YESbevor der Build ausgeführt wird. Beachten Sie, dass die Aktivierung dieses Patches Patch 54 und alle zukünftigen Patches deaktiviert, da nicht garantiert werden kann, dass zukünftige Patches mit dem inoffiziellen Patch kompatibel sind.

Apple Patch hat eine Art Game Over-Schwachstelle

Wie von @ake_____ auf Twitter darauf hingewiesen, ist der offizielle Apple-Patch immer noch anfällig für Umgebungs-Clobbering von ausführbaren Dateien:

$ env '__BASH_FUNC<ls>()'="() { echo Game Over; }" bash -c ls
Game Over

Wie wichtig das ist, sollte der Nutzer selbst entscheiden. Ich (@OldPro) denke, dass dies kein Grund zur Sorge ist, da es keinen bekannten Exploit für dieses Verhalten gibt (es wurde nicht einmal eine CVE-Kennung vergeben), da im Allgemeinen nicht privilegierte entfernte Angreifer den Namen einer Umgebungsvariablen nicht festlegen können und Angreifer mit Privilegien dies nicht können Verwenden Sie dies, um Berechtigungen zu erlangen, die sie noch nicht haben (zumindest nicht, ohne eine zusätzliche Schwachstelle auszunutzen).

Um ein wenig Hintergrund zu liefern, erlaubt Ihnen bash, Funktionen zu definieren, und erlaubt Ihnen außerdem, diese Funktionen über den export -fBefehl in Subshells zu exportieren. Früher wurde dies implementiert, indem eine Umgebungsvariable mit demselben Namen wie die Funktion erstellt wurde, deren Wert auf die Funktionsdefinition festgelegt war. Damit

$ ls () { echo 'Game Over'; }
$ export -f ls
$ echo $ls
Game Over

Dies geschah, weil export -f lseine Umgebungsvariable mit dem Namen erstellt wurde ls. Die "Game Over"-Schwachstelle bestand darin, dass Sie diese Umgebungsvariable direkt erstellen konnten, ohne zuerst die Funktion definieren zu müssen, was bedeutete, dass Sie einen Befehl kapern könnten, wenn Sie den richtigen Variablennamen einfügen könnten. Apple versuchte, dies zu beheben, indem es das Erstellen einer Variablen mit dem richtigen Namen erschwerte. Der offizielle Bash-Patch 54 macht es tatsächlich unmöglich, eine Variable mit dem richtigen Namen zu erstellen, indem Variablennamen verwendet werden, %die ein in einem Variablennamen nicht zulässiges Zeichen enthalten, wodurch exportierte Funktionsdefinitionen effektiv in einem anderen, reservierten Namensraum abgelegt werden.

Wenn keiner der oben genannten Punkte für Sie sinnvoll ist, machen Sie sich keine Sorgen. Mit dem Apple-Patch sind Sie vorerst in Ordnung.

System-Binärdateien

OS X 10.9.5 (die derzeit neueste stabile Version) wird mit Bash v3.2.51 ausgeliefert:

$ bash --version
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

Sie können Bash wie folgt erhalten und neu kompilieren , vorausgesetzt, Sie haben Xcode installiert (und xcodebuildmindestens einmal ausgeführt, um die Lizenz zu akzeptieren):

$ # If you want to disable auto-imported functions, uncomment the following
$ # export ADD_IMPORT_FUNCTIONS_PATCH=YES
$ mkdir bash-fix
$ cd bash-fix
$ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -
$ cd bash-92/bash-3.2
$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0    
$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0  
$ # See note above about ADD_IMPORT_FUNCTIONS_PATCH
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] && curl http://alblue.bandlem.com/import_functions.patch | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-054 | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-055 | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-056 | patch -p0
$ [ "$ADD_IMPORT_FUNCTIONS_PATCH" == "YES" ] || curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-057 | patch -p0
$ cd ..
$ # Note: DO NOT ADD SUDO TO XCODEBUILD HERE
$ xcodebuild
$ build/Release/bash --version # GNU bash, version 3.2.57-release
$ build/Release/sh --version   # GNU bash, version 3.2.57-release
$ sudo cp /bin/bash /bin/bash.old
$ sudo cp /bin/sh /bin/sh.old
$ sudo cp build/Release/bash /bin
$ sudo cp build/Release/sh /bin

(Hinweis: Sie können dies ausführen, indem Sie den obigen Codeblock kopieren und einfügen, in Terminal gehen und dann ausführen pbpaste | cut -c 2- | sh. Seien Sie jedoch immer vorsichtig, wenn Sie zufällige Skripte aus dem Internet ausführen ...)

Danach sollte die Bash-Version v3.2.57 sein:

$ bash --version
GNU bash, version 3.2.57-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

Aus Sicherheitsgründen und nach dem Testen empfehle ich Ihnen, chmod -xdie alten Versionen zu verwenden, um sicherzustellen, dass sie nicht wiederverwendet werden, oder sie auf eine Backup-Site zu verschieben.

$ sudo chmod a-x /bin/bash.old /bin/sh.old

Andere Antworten haben Lösungen für diejenigen, die MacPorts oder Homebrew verwenden; diese beheben das Problem nicht, sie installieren lediglich zusätzliche Versionen von Bash. Bitte sehen Sie sich diese Antworten an, wenn Sie diese speziell aktualisieren möchten.

Danke

Danke an Chet, der sich um bash kümmert und diese Patches zur Verfügung gestellt hat. Vielen Dank an alle anderen, die dies kommentiert und im Laufe der Zeit verbessert haben.

Jetzt hat Apple den eigentlichen Fix veröffentlicht, obwohl dieser immer noch nützlich sein könnte. Da sie nur einen Fix für Lion und höher veröffentlicht haben und der offizielle Patch GNU Bash, Version 3.2.53(1)-Release (x86_64-apple-darwin13) bereitstellt, ist der Game-Over-Bug jedoch immer noch etwas anfällig. An diesem Punkt ist es wahrscheinlich sicherer, Ihre eigene Version von Bash gegen 3.2.57 neu zu erstellen, als sich auf Apples Patch zu verlassen, es sei denn, Sie machen einen Fehler.

Macports

Damit erhalten Sie eine Bash-Version 4.3.28(1), die beide Schwachstellen (CVE-2014-6271 und CVE-2014-7169) sowie einige später entdeckte gepatcht hat. Dies ist nützlich, wenn Sie Shells geändert haben, um Macports Bash zu verwenden, um die Funktionen der Version 4 zu erhalten.

Es löst nicht das Problem von Standard-OS-Skripten, wie sie in der ersten Zeile #!/bin/shoder #!/bin/bashin der ersten Zeile vorhanden sind. Diese Art von Problem ist der Grund, warum Macports versucht, die von Apple bereitgestellten Programmversionen nicht zu verwenden, da Macports tendenziell schneller aktualisiert wird, z. B. eine neuere Version von bash)

Sie können das Terminal wie in der Homebrew-Antwort verwenden

Um Macports zu installieren, befolgen Sie diese Anweisungen
: 1. Installieren Sie Xcode und die Xcode-Befehlszeilentools
. 2. Stimmen Sie der Xcode-Lizenz im Terminal zu: sudo xcodebuild -license
3. Laden Sie das MacPorts-Paket für Ihre Version von OS X herunter: Links finden Sie auf Seite
4. Führen Sie das Paket aus

Wenn Sie Macports installiert haben, benötigen Sie die neuesten Versionen, dies geschieht durch Ausführen

sudo port selfupdate

und neu kompilieren oder die neuesten Binärdateien herunterladen

sudo port upgrade outdated
Da es hier darum geht, eine Sicherheitslücke in bestehenden Binärdateien zu beheben, und die anfälligen Binärdateien nicht ersetzt/repariert werden, verstehe ich nicht, wie dies das Problem löst.
Es greift die Macports-Version an - und war wirklich eine Bitte um IanCs Kommentar
Ja. Wir sollten die Fixes für alle Orte auflisten, bashvon denen OS X normalerweise kommt – also den System-Fix, den Homebrew- und den MacPorts-Fix. Vielleicht auch Fink. Ich persönlich würde es vorziehen, wenn dies als Bearbeitung der Antwort von @AlBlue vorgenommen würde. Es ist also alles eine, höchst korrekte Antwort.
@InaC diese sollten getrennt sein, da sich die Antworten unterscheiden und eine große nicht überprüft werden kann - z. Tatsächlich handelt es sich um getrennte Fragen
Siehe meine Bearbeitung der Antwort von @AlBlue. Ich bin nicht einverstanden, dass diese getrennt werden sollten.
sudo port selfupdateohne Leerzeichen zwischen self und update...
Löst 4.3.25 auch das Folge-CVE?
Hinweis für die letzte Bearbeitung scheint Macports selbst korrigiert zu haben - ich habe einen guten Build

HINWEIS zum offiziellen Apple OS X Bash-Update 1.0: Dieses Software-Update bringt nur die offizielle Apple Bash-Version auf 3.2.53. Die Patch-Revision 3.2.54 bietet die folgende Änderung:

Dieser Patch ändert die Codierung, die Bash für exportierte Funktionen verwendet, um Konflikte mit Shell-Variablen zu vermeiden und um zu vermeiden, dass nur vom Inhalt einer Umgebungsvariablen bestimmt wird, ob sie als Shell-Funktion interpretiert werden soll oder nicht.

Für Benutzer, die das System bereits mit 3.2.54-Binärdateien gepatcht haben, können Sie entweder Ihre kompilierten Binärdateien durch den Apple-Patch ersetzen oder die Dinge so lassen, wie sie sind, aber es ist nicht ratsam. Obwohl Apple seine binäre Versionierung bei 3.2.53 belassen hat, enthält der Apple-Patch die Korrektur für den folgenden Exploit-Test:

env X='() { (a)=>\' sh -c "echo date"; cat echo

Das bedeutet, dass die offizielle 3.2.53-Binärdatei von Apple die gleiche Sicherheit wie die Vanilla-GNU-3.2.54-Binärdatei enthält. Ein unglücklicher Punkt der Verwirrung, aber es ist, was es ist. Apples Lösung ist nicht unausgereift. Es scheint eine vollständige Lösung für das Problem zu sein. Daher sollte die folgende Roadmap zum Kompilieren von Vanilla bashund shaus GNU-Quellen als historisches Artefakt betrachtet und möglicherweise als Vorlage für zukünftige Patches herangezogen werden, falls dies erforderlich sein sollte.

HINWEIS: Bei der Vanilla-GNU-Quelle treten shProbleme mit der Rechteerweiterung auf, die zu Fehlern in verschiedenen Installationsprogrammen führen, z. B. Adobe Flash. Ich empfehle dringend, bei den von Apple gepatchten Binärdateien zu bleiben. Betrachten Sie dieses Patch-Schema als veraltet und nicht ratsam.

Es gibt einen neuen Patch für GNU bash 3.2.55, der den folgenden Fix beschreibt:

Fehler-Beschreibung:

Es gibt zwei lokale Pufferüberläufe in parse.y, die dazu führen können, dass die Shell den Kern ausgibt, wenn viele Here-Dokumente an einen einzelnen Befehl oder viele verschachtelte Schleifen angehängt sind.

Wir überlassen es dem aufmerksamen Leser, zu entscheiden, ob er sich an die offiziellen von Apple gepatchten Binärdateien hält oder seine eigenen erstellt, um mit den neuen möglichen Exploits fertig zu werden. Persönlich bleibe ich bei den Apple-Binärdateien.


bashDieser Beitrag beschreibt, wie man eine Vanilla und auf OS X kompiliert und installiert sh. Ich habe mich für diesen Weg entschieden, da die folgenden Beispiele, die die Verwendung von Apple-spezifischen Quellen detailliert beschreiben, mir nicht die richtige Patch-Revision hinterlassen haben. YMMV. Diese Vanilla-Installation zielt jedoch darauf ab, die OS X-Binärdateien zu ersetzen, sodass, wenn Apple endlich ein Sicherheitsupdate veröffentlicht, diese Vanilla-Ersetzungen von ihren richtigen Apple-Pendants an sich gerissen werden.

Meine Grundkonfiguration ist:

OS X Lion 10.7.5 und Xcode 4.6.3 mit allen installierten Befehlszeilendienstprogrammen.

Meine Schritte, um dies zu beheben, waren:

Laden Sie den Basis-Bash-Quellcode für 3.2.48 herunter von:

https://ftp.gnu.org/gnu/bash/bash-3.2.48.tar.gz

Laden Sie die bash3.2.49-, .50-, .51-, .52-, .53-, .54- und .55-Patches herunter von:

https://ftp.gnu.org/gnu/bash/bash-3.2-patches/

Ich habe sie als $filename.patch gespeichert, zB bash3.2.50.patch.

CD in Ihr Downloadverzeichnis und …

Entpacken Sie den Hauptquellzweig:

tar xzvf bash-3.2.48.tar.gz

cd bash-3.2.48

Angenommen, Sie haben Ihre heruntergeladenen Patch-Dateien wie zuvor beschrieben umbenannt,

cp ../*.patch .

Dann …

for file in *.patch ; do
  patch -p0 < $file
done

Dies sollte erfolgreiche Patches verschiedener Dateien anzeigen. Wenn nicht, seien Sie bereit, einige Erkundungen und Nachforschungen anzustellen.

Nächste:

sudo cp /bin/bash /bin/bash_old
sudo cp /bin/sh /bin/sh_old
sudo chmod -x /bin/bash_old
sudo chmod -x /bin/sh_old

Das hat im Grunde genommen Ihre alten, anfälligen Bash- und Sh-Shells gesichert und ihre Ausführungsrechte entfernt. Das gibt Ihnen die Möglichkeit, die Befehle nach Bedarf wiederherzustellen, entfernt jedoch ihre Fähigkeit, in der Zwischenzeit Schaden anzurichten.

Nächste:

./configure --prefix=/ ; make ; sudo make install

Dies sollte die neue Bash-Binärdatei korrekt konfigurieren, kompilieren und in /bin installieren. Beenden Sie danach das Terminal und öffnen Sie es erneut.

Sie sollten glücklich und lächelnd in der Lage sein, bash --version3.2.55 zu sehen, z. B.:

Gaia:Downloads trane$ bash --version
GNU bash, version 3.2.55(1)-release (i386-apple-darwin11.4.2)
Copyright (C) 2007 Free Software Foundation, Inc.

Die genaue Ausgabe im obigen Befehl hängt von Ihrer Version von OS X ab.

Sie sollten auch in der Lage sein, Ihre Schwachstelle zu testen bashund feststellen, dass sie in Ordnung ist.

HINWEIS: Wir haben bisher nur bash repariert, aber die /bin/shausführbare Datei befindet sich immer noch in einem anfälligen Zustand. bashDas bloße Kopieren shist ein Linux-Stil, Dinge zu tun. Die Implementierung von OS X shweist jedoch einige Unterschiede zu auf bash, sodass Sie den Compiler erneut in die Länge ziehen sollten. Weitere Informationen darüber, wie bashund was shsich in OS X unterscheidet, finden Sie hier:

https://apple.stackexchange.com/a/89327/91441

Führen Sie in Ihrem Download-Verzeichnis Folgendes aus:

make clean

Öffnen Sie die Datei in Ihrem bevorzugten Editor Makefile.inund scrollen Sie zu Zeile 99. Wir werden die Programmzeile so ändern, dass die ausgegebene Binärdatei shstatt bashwie folgt aussieht:

Program = sh$(EXEEXT)

Speichern und dann

./configure --prefix=/ --enable-xpg-echo-default --enable-strict-posix-default
make ; sudo make install

Jetzt haben Sie shfast genau so gebaut, wie Apple es tun würde.

Eine letzte Anmerkung: Auf einigen (allen?) Systemen scheint Apple die bashbugausführbare Datei im Allgemeinen in /usr/bin. Unsere Kompilierung wird es in /bin. Also, die letzten Schritte hier:

sudo mv /usr/bin/bashbug /usr/bin/bashbug_old
sudo chmod -x /usr/bin/bashbug_old
sudo mv /bin/bashbug /usr/bin/bashbug
Antworten müssen für sich allein stehen; Links sind in Ordnung, aber Sie müssen auch den Inhalt zusammenfassen.
Nicht zu jammern oder so, aber wenn die Frage lautet "Wie kann ich Bash neu kompilieren" und meine Antwort lautet "Klicken Sie auf den folgenden Link, um diese Frage zu beantworten", scheinen die Anforderungen für die Zusammenfassung zu bestehen.
Die Konfiguration von FWIW unter 10.6.8 mit Xcode 3.2.6 wird ohne Warnung vor fehlender Software abgeschlossen, aber die Kompilierung gibt Warnungen in einer der gepatchten Dateien (variables.c) aus und schlägt dann mit einer Menge Linkfehlern mit _rl_Symbolen fehl.
Tut mir leid, das zu hören, Seth. Ich hoffe, Sie können es lösen; Andernfalls haben Sie Pech. Apple hat die Bereitstellung von Snow Leopard-Updates Ende letzten Jahres eingestellt.
Verstanden: Die in bash enthaltene Readline-Bibliothek ist nicht mit 10.6 kompatibel. Installieren Sie stattdessen GNU readline und hacken Sie dann das Bash-Makefile, um es zu verwenden. Installieren Sie readline: ftp.cwru.edu/pub/bash/readline-6.3.tar.gz In bash, nachdem Sie configure gemacht haben, in Makefile, set READLINE_LIB = /usr/local/lib/libreadline.aund führen Sie eine saubere Kompilierung durch. Dann entfernen und kopieren Sie die neue Bash-Binärdatei auf /bin/bashund/bin/sh
AUSGEZEICHNET, Seth. Freut mich, es zu sehen!
Nachtrag: Im bash Makefile muss zusätzlich noch HISTORY_LIB = /usr/local/lib/libhistory.a. Andernfalls wird bash dynamisch mit der /usr/local-Version von libhistory verknüpft.
Beachten Sie, dass die von der Apple-Opensource-Seite herunterladbare Version benutzerdefinierte Änderungen enthält, damit sie unter OSX funktioniert. Ich würde nicht empfehlen, den Vanilla-Upstream-Bash zu verwenden, da Sie sonst nicht Like-for-Like ersetzen.
Apple nimmt viele Änderungen vor, um die Open-Source-Dienstprogramme auf dem System zu optimieren. Das heißt, ich kann nicht sehen, wo sich eine Vanille bashirgendwie nicht verhalten würde, nur weil der Kernel anders ist. Jedenfalls halte ich meine Lösung für vorübergehend; Irgendwann wird Apple das Problem beheben und meine kompilierten Binärdateien werden ersetzt (was mein Hauptgrund dafür ist, überhaupt zu kompilieren /bin.
Ich habe ein altes System mit OS X v10.4 und Bash 2.05b, daher kann ich nicht auf die neueste Bash oder das neueste OS X aktualisieren. Ich habe die Anweisungen hier befolgt und die Quelle für Bash 2.05b zusammen mit den zehn Patch-Dateien heruntergeladen . Ich habe die Patches angewendet und Bash erstellt. Ich brauchte die Kluge für die obige Readline-Bibliothek. Patch 008 ist einer der wichtigsten Patches für diese Schwachstelle und scheitert unter anderem an Funktionsdefinitionsversuchen aus Umgebungsvariablen mit der Fehlermeldunginternal_warning ("%s: ignoring function definition attempt", from_file);
stringsauf der neu erstellten Bash überprüft, ob die neue Fehlermeldung ignoring function definition attemptvorhanden ist. Wenn ich jedoch die neue Bash ausführe und dann die Schwachstellenprüfung betrete, zeigt sie immer noch anfällig an.
@jetset: Hast du die aktuell geöffnete Terminalinstanz neu gestartet? Um zu testen, ob alles in Ordnung ist, vergleichen Sie die Ausgabe von bash --versionmit echo $BASH_VERSION. Wenn letzteres eine niedrigere Version ist, starten Sie Terminal neu.
Ich habe die neu erstellte Bash nicht installiert; Ich wollte zuerst überprüfen, ob es das Problem behoben hat. Also habe ich es einfach mit aufgerufen ./bashund dann darin den Schwachstellentest ausgeführt.
Sowohl die alte als auch die neu erstellte Bash melden dieselbe Version (was sinnvoll ist, da ich die 2.05-Patches manuell angewendet habe):~/bash/bash-2.05b$ ./bash --version GNU bash, version 2.05b.0(1)-release (powerpc-apple-darwin8.11.0) ~/bash/bash-2.05b$ /bin/bash --version GNU bash, version 2.05b.0(1)-release (powerpc-apple-darwin8.0)
Aber die neu gebaute Bash hat die neue Fehlermeldung, während die alte Bash dies nicht tut: Die neue Bash hat den String: ~/bash/bash-2.05b$ strings ./bash | grep 'ignoring function definition attempt'%s: ignoring function definition attemptThe old Bash does not:~/bash/bash-2.05b$ strings /bin/bash | fgrep 'ignoring function definition attempt'
Wenn Sie die drei Varianten der Schwachstellentests ausführen und sie nicht angezeigt werden, ist alles in Ordnung. Die neuesten 2.05b-Patches adressieren diese CVEs definitiv.
Möglicherweise möchten Sie die Download-Links in ändernhttps://
@CousinCocaine: Ja, das könnte ich tatsächlich. Danke schön.
Kann jemand herausfinden, warum eine frisch neu kompilierte Bash 2.05b, auf die alle zehn Patches angewendet wurden, laut den Tests immer noch als anfällig angezeigt wird? Der stringsBefehl überprüft, ob die Binärdatei die Patches enthält.
@jetset: Hast du den patchBefehl verwendet, um deine Patches wie oben beschrieben anzuwenden? Ich erinnere mich, dass Sie an anderer Stelle gesagt haben, dass Sie Ihre Korrekturen "manuell" durchgeführt haben.
Ja, ich habe alle zehn Patches erfolgreich angewendet, wie durch Überprüfen der Quellen bestätigt wurde. Der stringsBefehl in der resultierenden Binärdatei zeigt, dass er die neue Fehlermeldung enthält, ignoring function definition attemptdie durch Patch 008 hinzugefügt wurde.
Was genau ist die Ausgabe der Ausführung der 3 Exploit-Beispiele?
Die Ausgabe von jedem der drei Exploit-Tests ist auf der alten und gepatchten Bash identisch: $ ./bash $ env x='() { :;}; echo vulnerable' bash -c 'echo hello' vulnerable hello $ rm -f echo$ env X='() { (a)=>\' sh -c "echo date"; cat echo sh: X: Zeile 2: Syntaxfehler nahe unerwartetem Token =' sh: X: line 2: ' sh: Fehler beim Importieren der Funktionsdefinition für X' Tue Sep 30 17:35:25 PDT 2014 $ env ls="() { echo 'Game over'; }" bash -c ls`Game over
Sie haben Ihre kompilierte Bash noch nicht verschoben /bin, oder? Die Exploits testen Ihr System bash, nicht die bashin Ihren kompilierten, aber noch zu installierenden Binärdateien. Installieren Sie entweder die Binärdateien oder ändern Sie ALLE bashInstanzen in ./bash.
Um einen berühmten Simpson zu zitieren: "DoH!" Natürlich zeigten die Tests immer noch anfällig, da jeder von ihnen das System aufruft, bashoder shso muss ich die Tests ändern, um ./bashstattdessen das lokale aufzurufen. Wenn ich das mache, funktioniert alles.
Installieren Sie Ihre Binärdateien und Sie können loslegen. Denken Sie daran, Terminal neu zu starten, um sicherzustellen, dass Ihre aktuelle Shell die neue Binärdatei ausführt.
Ich sehe, dass @TraneFrancks dieselbe Lösung gepostet hat, als ich sie erkannte. Danke an alle für die Hilfe.
Zu den Unterschieden zwischen Apple- und GNU-Builds: Zumindest unter 10.8.5 führt das Ersetzen von Apple /bin/sh durch die gepatchte GNU-Bash dazu, dass der Adobe Flash-Installer bei fehlschlägt authexec[460]: executing /bin/sh. Aber dieses Problem tritt nicht unter 10.6.8 auf, das keinen Apple-Patch hat. So scheint es zumindest, dass die Apple-Patches auf späteren Systemen bevorzugt werden, aber die GNU-Patches funktionieren möglicherweise für 10.6.8.
Ich stimme zu, dass diese Apple-Patches bevorzugt werden. Sie adressieren den Shellshock-Exploit vollständig.
Ich stimme nicht nur zu, @SethNoble, ich konnte das Problem reproduzieren. Das Adobe-Installationsprogramm funktioniert gut mit dem von Apple gepatchten bash/sh 3.2.53.

Für alle, die mit dem Kompilieren aus dem Quellcode zu kämpfen haben, hat Apple am 29. September offiziell Patches für Mac OS X 10.9.5, 10.8.5 sowie 10.7.5 veröffentlicht:

Danke! Dies kann für viele / die meisten einfacher sein als eine Neukompilierung.
@AlBlue Einverstanden. Auch wenn es beim Patchen nicht ganz sauber ist – wie einige darauf hingewiesen haben – ist dies weitaus besser als nichts. Und weitaus sicherer als ein Anfänger, der in Panik Quellcode kompiliert.
Wie üblich ist die Ausbreitungsverzögerung des Software-Updates in vollem Umfang wirksam. Ich frage mich, wie lange es dauern wird, bis die Pakete angezeigt werden. Es ist erfrischend zu sehen, dass Apple ziemlich schnell auf dieses Problem reagiert hat!
@TraneFrancks „Wie üblich ist die Ausbreitungsverzögerung des Software-Updates voll wirksam.“ Ich verstehe wirklich nicht, wie eine Organisation, die das vollständige Album von U2 allen iOS-Benutzern zur Verfügung stellt, irgendwie an einem weniger als 4 MB großen Sicherheitsupdate ersticken kann.
@JakeGould: He. Ja, das ist ein Kichern. Ich habe gerade das Software-Update auf diesem Lion-System überprüft und es wird behauptet, dass das System auf dem neuesten Stand ist. Dasselbe gilt für ein anderes Mountain Lion-System hier.
@TraneFrancks Ummm, wenn Sie den obigen Links folgen, können Sie direkt von Apple herunterladen. Sie müssen nicht auf das Software-Update warten.
@JakeGould: Habe das gerade gemacht und sehe jetzt, dass die Version nur 3.2.53 und nicht 3.2.54 ist. Apple hinkt noch hinterher.
@TraneFrancks Sie sollten den Kommentar lesen, den ich oben gemacht habe, wo ich sage: „Außerdem ist das Patchen zwar nicht ganz sauber – wie einige darauf hingewiesen haben – aber weitaus besser als nichts.“ Also im Grunde sehe ich das vorerst als gut an und für die Mehrheit der in Panik geratenen Benutzer da draußen.
@JakeGould: Ich stimme zu. Ich habe lediglich den Unterschied festgestellt, da ein Downgrade von 3.2.54 auf 3.2.53 für diejenigen unerwünscht sein kann, die ihre Systeme bereits gepatcht haben.

Erstens wird das Patchen von bash und sh für diese Schwachstelle wahrscheinlich einige Skripte auf Ihrem Mac beschädigen. Sie müssen dies wirklich nicht tun, es sei denn, Sie bieten dem öffentlichen Internet Webdienste direkt von Ihrem Mac aus an. Wenn es also wirklich nicht nötig ist, warten Sie, bis es ein offizielles Sicherheitsupdate von Apple gibt.

Seien Sie gewarnt, hier sind einige Anweisungen, wie Sie dieses Update mit Brew on Mavericks 10.9 durchführen können.

Bestätigen Sie zunächst, dass Sie eine veraltete Bash verwenden:

$ which bash
/bin/bash
$ /bin/bash --version
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

Die aktuellste Bash ist 4.3.25

Wenn Sie Xcode nicht installiert haben, benötigen Sie die Xcode-Befehlszeilentools, die mit installiert werden können

$ xcode-select --install

Oder aus dem Entwicklerportal .

So installieren Sie Brew ( http://brew.sh ):

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Dann mach:

$ brew doctor

Befolgen Sie alle Anweisungen, wenn es Probleme gibt. Viele allgemeine Probleme werden hier behandelt .

Aktualisieren Sie dann brew auf die neueste Paketliste:

$ brew update

So erhalten Sie die neueste Bash 4.3.25:

$ brew install bash

Dies installiert bash in/usr/local/Cellar/bash/4.3.25/bin/bash

Das alte bashund shexistiert noch unter /bin, also werden Sie nach der Installation die alten ausführbaren Dateien in eine neue Datei umbenennen.

$ sudo mv /bin/bash /bin/bash_old
$ sudo mv /bin/sh /bin/sh_old

Wenn Sie sehr paranoid sind, können Sie Ausführungsberechtigungen für entfernenbash_old

$ sudo chmod a-x /bin/bash_old /bin/sh_old

Erstellen Sie dann einen symbolischen Link zu der neuen Bash 4.3.25, die Brew installiert hat.

$ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash /bin/bash
$ sudo ln -s /usr/local/Cellar/bash/4.3.25/bin/bash /bin/sh

Neustart und fertig.

Eine Warnung – dies kann einige vorhandene Shell-Skripte beschädigen, die möglicherweise auf Bash 3.2 oder den Unterschieden, die der Mac shgegenüber Linux hat , angewiesen sind sh. Es gibt eine viel ausgefeiltere Antwort zum Ersetzen von bash und sh aus Quellen, aus einer Antwort von @TraneFranks in demselben Thread.

Das Patchen von 3.2.51 auf 3.2.52 wird viel weniger Schaden anrichten als ein Upgrade auf 4.3.irgendwas.
Ich warne davor, dass es einige Skripte beschädigen könnte, aber 4.3.25 ist das, was Brew als aktuell installiert – ich versuche, eine Version anzubieten, die einfach (er) zu installieren ist und die es von Grund auf neu macht. Und Sie können jederzeit wiederherstellen, indem Sie die alten ausführbaren Dateien zurück umbenennen.
Dieser Fehler kann von einem böswilligen DHCP-Server (z. B. WLAN-Hotspot) ausgenutzt werden und kann Ihren Computer vollständig pwnen, daher lohnt es sich, ihn so schnell wie möglich zu beheben. Andere Antworten enthalten bessere Anweisungen zum Ersetzen , /bin/bashund /bin/shdas wird wahrscheinlich weniger Probleme verursachen als ein Upgrade auf Brews neueste Bash.
Der Mac ist möglicherweise nicht anfällig für den DHCP-Angriff.
Der DHCP-Serverangriff ist nur möglich, wenn Ihr DHCP-Client Bash-Skripte verwendet, was bei der OSX-Implementierung nicht der Fall ist.
Das scheint ziemlich einfach, aber es schlägt fehl.mv: cannot move '/bin/bash' to '/bin/bash_old': Operation not permitted

OS X 10.6.8 - Schneeleopard

Der Beitrag von @AlBlue ist sehr vollständig. Auf meinem OS X 10.6.8-Server funktioniert dieser Fix jedoch nicht. Apple hat keinen Fix für 10.6.8 und die von @AlBlue erklärten Schritte funktionieren nicht mit Xcode 3.2.6 (der neuesten Version für Snow Leopard). Ich erhalte eine Fehlermeldung:

** BUILD FAILED **

The following build commands failed:
sh:
    CodeSign /Users/bas/bash-fix/bash-92/build/Release/sh
bash:
    CodeSign /Users/bas/bash-fix/bash-92/build/Release/bash
(2 failures)

Aus diesem Grund verwende ich brew.sh . Bitte kommentieren Sie Ihre Gedanken, wenn Sie eine bessere Lösung für OS X 10.6.8 Snow Leopard haben. Siehe auch den Kommentar von @Jerome, er hatte einen erfolgreichen Patch auf OS X 10.6.8 Snow Leopard mit der Lösung von @AlBlue. Trotzdem:

Installieren Sie zuerst Brew mit dem folgenden Einzeiler:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Aktualisierenbrew

brew update

Installieren Sie jetzt einfach die neueste Version von bashund ersetzen Sie die aktuelle:

brew install bash
sudo sh -c 'echo "/usr/local/bin/bash" >> /etc/shells'
chsh -s /usr/local/bin/bash
sudo mv /bin/bash /bin/bash-backup
sudo ln -s /usr/local/bin/bash /bin/bash

Sie können die Standard-Login-Shell ' Command (complete path)' für die Terminal.app in ihren Einstellungen festlegen ( Command,)Geben Sie hier die Bildbeschreibung ein


Hinweis: In den Kommentaren halten einige Benutzer diese Methode für nicht angemessen. Aber für mich ist dies die einzig nachvollziehbare Methode, um BASH auf OS X 10.6.8 Snow Leopard zu aktualisieren.

Dies ändert jedoch nicht die Bash - Version , die verwendet wird , wenn Sie das Terminal starten oder von einem anderen Skript gestartet werden . Skripte neigen dazu, #!/bin/sh oder bash oben zu haben, also ignorieren Sie PATH
auch einige Skripte verlassen sich auf Bash 3 und funktionieren nicht mit Bash 4 (Macports hat Bash 4.3.25 repariert, auf das Home-Brew meiner Meinung nach aktualisiert wurde
Das OP hat nicht nach einer bestimmten Version 3 oder 4 gefragt. Dies ist nur eine andere Möglichkeit, dies zu tun.
Nicht die Lösung, die ich gewählt habe, aber +1 für nützliche Informationen wie die Einstellung "Shells open with".
Ja, Sie müssen eine Bash 3.x bereitstellen, um das Problem zu beheben
Der PATH und die Standard-Terminal-Shell wurden korrigiert
Sie aktualisieren nicht shauch – das müssen Sie auch tun. /bin/sh!= /bin/bash. Viele Tools werden ausgeführt, /bin/shwenn Sie Systembefehle ausführen. Der Aufruf von Ruby system()wird beispielsweise verwendet, /bin/shwenn Sie ein Shell-Erweiterungszeichen haben, das in der Zeichenfolge erweitert werden muss. Sie spielen ein verlorenes Spiel, indem Sie Homebrew verwenden, um Ihre Systembinärdateien IMO zu aktualisieren. Sie sollten Homebrews bash zusätzlich zu einem ordnungsgemäßen Update der Systembinärdateien aktualisieren.
Denken Sie daran, dass OSX 10.8 und 10.9 Bash 3.2 verwenden, also habe ich mich aus Gründen der direkten Konsistenz für 3.2 als Version entschieden. Dies basierte auch auf Apples offiziellem Build für die vorherige Version, die Extras wie erweitertes Attributbewusstsein usw. enthalten kann.
Ich habe drei 10.6.8-Maschinen ohne Probleme gemäß den Anweisungen zum Erfassen und Neukompilieren von BASH in der Antwort von AlBlue aktualisiert, die am Freitag im September erschienen sind. 26 (also ohne # ADD_IMPORT_FUNCTIONS_PATCH). Wenn Sie ein Brew-Update durchführen, wird diese Version aktualisiert, wenn Sie eine auf diese Weise installiert haben. Sind Sie sicher, dass die System-Bash nicht an anderer Stelle verwendet wird? Wenn nicht, wählen Sie die Lösung von AlBlue
@Jerome, ich erhalte einen Fehler im xcodebuildSchritt. Ich verwende xcode 3.2.6. Zuerst scheint es zu bauen, aber dann erhalte ich eine Fehlermeldung: ** BUILD FAILED ** Die folgenden Build-Befehle sind fehlgeschlagen: sh: CodeSign /Users/user/bash-fix/bash-92/build/Release/sh bash: CodeSign /Users/user/bash-fix/bash-92/build/Release/bash Hier stecke ich fest, irgendwelche Ideen?
Ich verwende 3.2.6 selbst auf allen Instanzen. Ich verstehe, dass der Build beim Ausführen fehlschlägt xcodebuild? Wenn ja, habe ich das nicht erlebt. Ich habe einige solide Vorschläge, die ich Ihnen beiseite legen kann: Überprüfen Sie, ob Sie mehrere Bash-Builds haben, ziehen Sie eine Bereinigung in Betracht (Brew-Deinstallation) und installieren Sie möglicherweise xcode neu ... und starten Sie dann den Patch-Prozess erneut.
@Jerome, eine Bereinigung (Brew-Deinstallation) und Neuinstallation von xcode und der oben beschriebene Patch-Prozess führten zu demselben Fehler. Aber ich muss etwas Seltsames auf meinem System haben, weil ich diesen Fehler nirgendwo anders gesehen habe.
Ich denke, die einzige Möglichkeit, dies zu wissen, besteht darin, dasselbe auf einer anderen Maschine zu bauen. Ich habe keine Ahnung, was los sein könnte; Ich kann nur instinktiv sagen, dass es weh tut, wenn man wie oben einige Dinge mit Apples OS x-Oberfläche berührt.
Ich hatte ernsthafte Probleme mit der Jobsteuerung mit handgebautem Stock bash-4.3 auf Snow Leopard (Wenn ich emacs starte und es dann unterbreche, kann ich es nicht mit 'fg' fortsetzen). Seitdem habe ich die Snow Leopard-Quelle für Bash von opensource.apple.com/release/mac-os-x-1068 heruntergeladen , die Patches von ftp.gnu.org/gnu/bash/bash-3.2-patches angewendet und neu erstellt viel bessere Wirkung.

Sie können den Anweisungen hier folgen: https://github.com/tjluoma/bash-fix Machen Sie im Grunde Folgendes in einem Terminal:

curl -s https://raw.githubusercontent.com/tjluoma/bash-fix/master/bash-fix.sh | zsh -f
Durch das Ausführen zufälliger Shell-Skripte von zufälligen Github-Konten gelangen Sie auf keinem Computer zu einer sichereren Situation. Sie möchten dem Endpunkt vertrauen.
Hier muss ich Ian zustimmen. Es ist wirklich einfach, durch nicht vertrauenswürdige Shell-Skripte dramatischen Schaden zu verursachen, wie zum Beispiel die Probleme, die diese CVEs beschreiben.
Stimme dieser Verbreitung von FUD entschieden nicht zu. LESEN Sie alle Shell-Skripte, bevor Sie sie ausführen, und nur von https://.