ShellShock,ショーーーーーック!

投稿アップデート情報  追記(9/30) 追記2(10/6)

 ヒェーッ!!
 もう対処しました? ShellShock 。うちのサーバ OS は Windows なので,直接の影響はなさそうですがね。まぁ,とんでもない脆弱性ですよ, NVD のスコアは満点の 10 だし。 VMWare 上に CentOS 6.5 があるので,その bash は,一応 bash-4.1.2-15.el6_5.2.i686 にアップデートしました。

 アップデートが済んだ後に 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

 この情報は Red Hat Customer Portal 上の Masanari Iida さんのコメントで発見したものです。

 関連リンクをちょっとだけ。もちろんネット上にはすごい量の記事がありまっさ:

 ところで,うちの Apache エラーログには,昨日までに 6 回のアタックが残っていて,それについては昨日ブロックするようにしたんですが,本日現時点までで,また新しいところから 2 回のアタックがあってました。どれに対しても, HTTP エラーが返ってるんですがね。

追記(9/30):
 ”Bash bug: apply Florian’s patch now” に, “I very strongly recommend manually deploying Florian’s patch unless your distro is already shipping it.” という記述があり,そのパッチが当たっているのかどうかの確認方法も書いてある。

 Bash 自身で foo='() { echo not patched; }' bash -c foo をやったときに, “コマンドが見つかりません” が返ってくればパッチ済, “not patched” なら未パッチ。

 コメントで, vdp が “These ‘toughen the feature’ patches still feel quite scary.” と書き,あまり使わない機能なので,デフォルトでは使えないようにして,必要な場合はセキュリティに気を付けて有効にするようにしたらどうかと提案しているが,そのほうがいいんじゃないだろうか。

追記2(10/6):
 セキュリティホール memo さんのところのに 10/6 づけで追記が出ていた。

 ウォオオ。
 foo='() { echo not patched; }' bash -c foo
だけではいけないようですな。ただし, CVE-2014-6271 や CVE-2014-7169 と比べれば,危険度はグッと下がっているらしいです。

本家のお世話-#110。(PHP5.6.1へアップデート)

 Windows 版の PHP5.6.1 が Sep-25 06:28:30UTC に出た。近頃は,いつも Windows 版のほうが早いな。で, 5.6.0 から 5.6.1 にアップデートしたわけ。(サーバ OS は Windows7HP+SP1(x86) です。)

 php.ini-production は 1 個スペルミスの訂正があっただけで何も変わっていなかったので,新旧ファイルを入れ替えて php.ini を放り込み, httpd.exe をリスタートした。

 OPcache のバグは直っていないようだったが,いつもの手順通りで,「おしまいッ」と思ったのよ。

 ところが!! 今回はトラブルに見舞われちゃったよぉ。初めは, “PHP Warning: PHP PHP Startup: in Unknown on line 0” を Apache のエラーログで発見したこと。これだけ。 module 名とかほかに何にもなし。とはいえ, warning が 1 個だし,「まっいいか」とか思ったんだ。 PHP info をチェックしてたら大問題が発覚, php_curl.dll がロードされてないじゃないですか!! (大泣)

 やっとこ,解決策発見。 1 日かかっちゃったよ。ヤレヤレ。
 パスを通してやりました。つまり,環境変数のパスに “x:\PHP install directory” を追加したわけ。これ,インストール時にやってるほうが普通だとは思うが,今まではなくても,ずーっと無問題だったんだよ。「 PHP5.6.1 でなんか変わったのかねぇ」と思ったんだが, “the curl extension doesn’t load using apache” の日付を見て,考えを改めた。 Windows Security updates がらみのほうが,ありそうな気がする。

 何はともあれ, PHP5.6.1 は無事動くようになった。

 インストールについて詳しい情報が必要な場合は,「PHP 5.5.16 から PHP 5.6.0 への移行」をご覧ください。