2014年9月29日月曜日

bashのShellShock

お馴染みのbash(bourne-again shell)に強烈な脆弱性が発見されました。
環境変数に関数を突っ込めるのが原因のようですが、
詳しくはCVE-2014-6271でググってください。

さて、私が初めて触ったUNIXシェルは多分tcshです。
OSはSolarisと呼ばれるようになる前のSun Sparc workstation用のSun OSです。
tcshがデフォルトだったのか管理者の好みだったのかは定かではありませんが、
当時はcsh系とbsh系が覇権を争っていた(?)ような記憶もあります。
いや、Sun OSの前にLinuxを自分のPCにインストールしてたっけ?
そのときのLinuxの標準シェルってbashだったっけ?
何しろ大昔なもので記憶がかなり曖昧です。

ところで、今回のShellShock、影響範囲が広すぎて困ってしまいます。
手元のLinuxもMacもcygwin(Windows)もbashですし、借りてるvpsもbashです。
とりあえずデスクトップで使ってるUbuntu 14.04で
# apt-get upgrade bash
を実行したら余計な物までアップデートされ、
事情があって複数バージョンをインストールしているjavaの実行環境とコンパイラの
デフォルトが断りもなく切り替わってひどい目に合いました。
# update-alternatives --config javac
# update-alternatives --config java
で元には戻せましたが精神衛生上よくありません。

一番影響が大きいvpsの方は、
歴史的経緯(?)でアップデートできなくなっていて、
tcshに替えるのも手ではありますがシェルスクリプトの互換性面で心配ですし、
かと言ってbashをソースからビルドとかいうのはトラブルが起きそうで恐怖です。
ということでvpsはついにOSの入れ直しを決断しました。
まあ期限は緩く来年に向けてぐらいを考えておきます。
それまでにはvpsで提供される初期OSイメージに修正が入ることでしょう。

0 件のコメント:

コメントを投稿