2006年10月18日 (水)

Xcode の WebObject プラグイン 権限昇格の脆弱性

Apple Xcode WebObjects Plugin Privilege Escalation Vulnerability - Advisories - Secunia」によると Mac OS X の開発ツール Xcode の WebObject プラグインに権限昇格の脆弱性がある。危険度は 5 段階中 2 の「若干危険」。

Xcode の WebObject プラグインは OpenBase SQL というデータベースを使用する。このため OpenBase SQL の脆弱性「OpenBase SQL Privilege Escalation Vulnerability - Advisories - Secunia」の影響を受けて、ローカルのユーザがその権限を越えた操作に利用することができる。

ローカルユーザが攻撃することはないという理由で軽視されがちなパターンだが、ローカルユーザに対する権限昇格の脆弱性はリモートからの侵入と併用されて、リモートからの侵入者にマシンを自由に操らせる元となる可能性がある。つまりもっと深刻な事態を引き起こすクラッキングの一つのステップとして利用されるかもしれない。

Secunia では対策について次のように述べている。OpenBase SQL のサイトから最新の J2SE 5.0 対応の OpenBase 用 JDBC ドライバをダウンロードしてインストールすること。もしくは OpenBase のバイナリ(プログラムのこと)から“setuid”ビットを落とすこと。

OpenBase のサイトの中にある「OpenBase Downloads」というダウンロード用ページの中の「OpenBase Resource Downloads」という見出しのセクションに「OpenBase JDBC3.0 Driver, Java 1.5」とラベルされたリンクがある。これが当該の JDBC ドライバなのだろう。私の手元の Mac には OpenBase が入っていないので“setuid”ビットを落とすべきバイナリがどれかは不明。Xcode の WebObject プラグインをインストールしているなどで OpenBase がインストールしてある人で、JDBC ドライバを事情があって入れ替えられない人は各自で検討してほしい。“setuid”ビットというのは、その実行ファイルを誰が実行してもそのファイルの所有者の権限で実行ファイルを起動するためのもので、ファイルのパーミッション(読み書き実行の許可/不許可)の中のフラグの一つ。不注意に使用すると脆弱性の元なのでデフォルトで“setuid”ビットの仕組みを無効にしている unix 系の OS もあるものだ。これを落とすにはターミナルで chmod コマンドを次のように使用する。

sudo chmod u-s ファイルパス

コマンド操作が苦手な人は次の手順で行うとよい。

  1. ターミナル上で sudo chmod u-s とタイプする。
    u-s の後ろにスペースが一つあるのでそれを忘れないこと。
  2. “setuid”ビットを落としたいファイル(複数可能)を Finder からそのターミナルウィンドウにドラッグ&ドロップする。
    そうするとそれらのファイルのパス名がターミナルに書きもまれて、コマンドラインが完成する。
  3. 改行をタイプしてそのコマンドを実行する。

Posted: 03:38    | Comment | Trackback


以下、類似エントリです。