“the Month of PHP Bugs”をできるだけ多くの方が読めるように、Stefanさんの承諾を得て日本語訳を公開しています。このブログの「the Month of PHP Bugs」カテゴリでMOPBの翻訳ページを一覧できます。分かりやすいように意訳できる部分は意訳します。厳密に原文の通り訳していないので正確性を重視される方は原文をご覧ください。
■クレジット
発見者:Stefan Esser
攻撃コード:不必要
■PoCまたは攻撃コード
不必要
■リファレンス
なし
■サマリ
Zendプラットフォームに付属するいくつかのバイナリとシェルスクリプトは脆弱なファイル権限が設定された状態でインストールされます。いくつかのファイルは間違ってWebサーバの所有されたり、Zendプラットフォームをインストールしたユーザアカウントによって所有されたりしています。
MOPBの脆弱性を攻撃してWebサーバアカウントやZendプラットフォームをインストールしたユーザアカウントを乗っ取ったりすることで、攻撃者はファイルを入れ替えたり、編集することにより次のリブートでルート権限でサーバが再起動するように権限を昇格させることが可能です。
■影響するバージョン
Zendプラットフォーム 2.2.3以下
■詳細情報
詳細情報は必要なし
■PoC、攻撃コードまたは再現手順
PHPをモジュールで動作させ、safe_modeかopen_basedirが無効に設定されていれば、Zendセッション管理デーモンの起動スクリプト、/usr/local/Zend/bin/scd.shを直接変更できます。好きなコマンドを追加してWebサーバを再起動させます。追加したコマンドはルート権限で実行されます。
システムがもしsafe_modeまたはopen_basedirを有効に設定している場合、今月公開されるローカル脆弱性を使うだけで攻撃できます。
■備考
この問題はZend社に対して2007年1月末に通知されました。Zend社はどのような手順でファイル権限を修正するかWebサイト(http://www.zend.com/products/zend_platform/security_vulnerabilities)で公開しましたが、Zend社はZendプラットフォーム3.0にアップグレードを薦めています。