Shellshock: was verändert sich durch den bugfix in der bash?

Moin,
wenn ich das richtig verstanden habe besteht durch den Shellshock-Bug in der bash die Möglichkeit innerhalb eines Befehls (Schad-)Code auszuführen. Nun gibt es ja eine bugfix. Der wird aber wohl nicht die Codeausführung sperren können, sonst gingen ja diverse Scripte nicht mehr.
Kann mir als Laien mal jemand kurz und einfach erklären wie man einerseits durch den bugfix den Fehler behebt und andererseits die eingebetteten Befehle nicht unterdrückt?

Dank und Grüße,
J~

Hallo

Es gibt da Funktionen, z.B. ist eine ein sogenannter ‚Array-Zugriff‘, die einen Fehler (Bug) enthalten. Bei diesem Patch oder Bugfix wird dieser Fehler korrigiert, so dass normale Array-Zugriffe weiterhin funktionieren, es aber nicht mehr möglich ist, darüber Schadcode auszuführen.

Lies evt. auch mal das hier: http://de.wikipedia.org/wiki/Shellshock_%28Sicherhei…

CU
Peter

wenn ich das richtig verstanden habe besteht durch den
Shellshock-Bug in der bash die Möglichkeit innerhalb eines
Befehls (Schad-)Code auszuführen.

Die Möglichkeit besteht immer, und das ist auch gewünscht. Nur ist der übliche Weg, den Code über den Parameter -c mitzugeben. Will man verhindern, dass z. B. eine Webanwendung Aufrufe der bash nutzt, um ungewünschten Code auszuführen, schickt man den Aufruf durch einen Wrapper, der diesen Parameter ausfiltert.

Es ist auch durchaus gewünscht, dass über den env-Befehl neben Umgebungsvariablen auch Funktionen übergeben werden können - nur würde man erwarten, dass eine solche Funktion erst über den Parameter -c aufgerufen und ausgeführt wird.

Eine Funktion wird als Variable übergeben. Um diese Variable in eine Funktion zurückzuverwandeln, hat die bash die Funktion bereits ausgeführt (frag mich nicht, welches Konzept, welcher Gedankengang dahinter steckt. Mein Verstand ist solcher Wirrungen nicht fähig…). Und schwupp - ist der Rechner infiziert und der Wrapper hat das Nachsehen…

Durch den Bugfix wird die Möglichkeit, Funktionen zu übergeben und auszuführen, nicht eingeschränkt. Es wird lediglich verhindert, dass Funktionen unaufgefordert ausgeführt werden.

Gruß

Moin,
danke für deine Antwort! Nun hab’ ich’s wohl verstanden.
Mit anderen Worten lag der Fehler darin, dass die Kontrollinstanz fehlerhaft war bzw übergangen werden konnte.

Viele Grüße,
James