Nach dem Update werden keine Bash-Warnmeldungen für Shellshock mehr angezeigt

Nach dem Update werden keine Bash-Warnmeldungen für Shellshock mehr angezeigt

Ich habe Ubuntu gerade über ein Update-Popup aktualisiert. Ich kenne Shellshock, also habe ich die Installation schnell durchgeführt. Wenn ich jetzt versuche,

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Ich erhalte nicht die Ausgabe (die ich vorher erhalten habe)

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

wie beschrieben inWas ist die Bash-Sicherheitslücke CVE-2014-6271 (Shellshock) und wie behebe ich sie?

Stattdessen bekomme ich jetzt nur noch „Hallo“. Kann man davon ausgehen, dass die von mir installierten Updates diese Fehlermeldungen verbergen? Nach der Überprüfung des Software Centers sehe ich die folgenden von mir installierten Updates:

unity-settings-daemon (14.04.0+14.04.20140414-0ubuntu1, 14.04.0+14.04.20140606-0ubuntu1
aptdaemon-data (1.1.1-1ubuntu5, 1.1.1-1ubuntu5.1)
python-aptdaemon.gtk3widgets (1.1.1-1ubuntu5, 1.1.1-1ubuntu5.1)
bash (4.3-7ubuntu1.3, 4.3-7ubuntu1.4)
python-aptdaemon (1.1.1-1ubuntu5, 1.1.1-1ubuntu5.1)

Genauer gesagt: Verbirgt 4.3-7ubuntu1.4 die Fehlermeldung zum Funktionsdefinitionsversuch? Entschuldigen Sie den Verdacht, aber nach einigem Googeln habe ich noch kein ähnliches Problem gefunden. Für jede Klarstellung wäre ich sehr dankbar. Danke!

Antwort1

Entsprechenddieser Beitrag im Fedora Magazine:

env x='() { :;}; echo OOPS' bash -c :

Dies gibt auf einem anfälligen System „OOPS“ aus, wird jedoch stillschweigend beendet, wenn Bash gepatcht wurde.

Dies ist das Verhalten, das bei folgenden Personen beobachtet wird:

  • Debian squeeze( bashPaket 4.1-3+deb6u2)
  • CentOS 6.5 ( bashPaket 0:4.1.2-15.el6_5.2)
  • Arch Linux ( bashPaket 4.3.026-1)

Ich vermute, dass dies das beabsichtigte Verhalten des Fixes ist, aber aus irgendeinem Grund haben die ersten bashPatches von Ubuntu den Fehler erzeugt, anstatt den zusätzlichen Code stillschweigend zu ignorieren.


Kommentar von mattdm:

Die ersten Patches waren eigentlichbeabsichtigtum den Fehler zu erzeugen, wenn eine fehlerhafte Funktionsdefinition in einer Umgebungsvariable gefunden wurde. Die aktualisierten Patches suchen sogar nur in speziell vorangestellten Variablen, was fast alle Risiken in der Praxis eliminiert. Versuchen Sie es env 'BASH_FUNC_x()'='() { :;}; echo OOPS' bash -c :– Sie sollten einen Fehler sehen.

Ich habe dies überprüft:

$ env 'BASH_FUNC_x()'='() { :;}; echo OOPS' bash -c :
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `BASH_FUNC_x`
$ bash --version | head -1
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
$ apt-cache policy bash | grep Installed
  Installed: 4.3-7ubuntu1.4

verwandte Informationen