[PHP-users 8824] PHP 4.2.2リリース

Masaki Fujimoto php-users@php.gr.jp
Mon, 22 Jul 2002 23:36:34 +0900


ふじもとです。

PHP 4.2.2がリリースされました(そして間髪入れず4.2.3のリリースプロセスへ...)。
今回のバージョンはセキュリティフィックスです。4.2.0もしくは4.2.1をインス
トールされている方は早急にアップデートなさったほうがよろしいかと思います。

# 最近多いですねぇ

脆弱性の詳細については http://jp2.php.net/release_4_2_2.php をご覧下さい。
以下は参考までに和訳です。かなり急いだので不安な方は原文も参照してくださ
い。

--- from http://jp2.php.net/release_4_2_2.php ---

PHP GroupはPHP 4.2.0と4.2.1に重大な脆弱性があることを突き止めました。侵
入者はウェブサーバの動作権限(*)で任意のコードを実行することが出来ます。
この脆弱性によりウェブサーバは危険な状態となり、特定の条件下において一定
の権限を持ったアクセスを許容することになります。

(*訳注)この意味がhttpd自体の動作権限 == (通常)rootなのか、ウェブサーバ上
で動作するアプリケーションの動作権限なのか、この文脈からははっきりとは分
かりません。恐らく後者かと思いますが、まだ何にも調べてないし、パッチさえ
見ていないのではっきりとは分かりませんが:(

[Description]
PHPにはHTTP POSTリクエストにより送信されたヘッダを適切に解析するコードが
含まれています。このコードは"multipart/formdata"リクエストの変数とファイ
ルの各部分を区別するために使用されています。この部分の入力チェックが不完
全であったために脆弱性が生まれました。

この脆弱性は当該ウェブサーバにHTTP POSTリクエストを送信することができる
全てのユーザに対して意味を成します。ローカル、リモートは勿論ファイアーウォー
ル越しのユーザでもHTTP POSTさえできれば特権的アクセス権限を得ることが出
来ます。

[Impact]
ローカル、リモートの両方のユーザがこの脆弱性を突くことができ、ウェブサー
バは危険な状態となります。また特定の条件下において一定の権限を持ったアク
セスを許容することになります。これまでのところ、IA32プラットホームでは任
意のコードを実行することは不可能だということが判明していますが、それでも
PHPや(そして多くの場合)ウェブサーバをクラッシュさせることが可能です。

[Solution]
PHP Groupは脆弱性を修正した新しいPHPのバージョン4.2.2をリリースしました。
この問題が影響するバージョン(4.2.0と4.2.1)を使用している全てのユーザはこ
の最新のバージョンにアップグレードすることをお勧めします。ダウンロードサ
イトは

http://www.php.net/downloads.php
(訳注:http://jp.php.net/downloads.php http://jp2.php.net/downloads.php 
もどうぞ)

です。ソースコード、Windowsバイナリ、4.2.0と4.2.1へのソースコードパッチ
をダウンロードすることが出来ます。

[Workaround(回避策)]
もし、問題となるPHPがインストールされているウェブサーバがHTTP POSTを使用
していないなら、POSTリクエストを拒否することが出来ます。

例えばApacheウェブサーバでは設定ファイル(httpd.conf)やトップレベルに置か
れた.htaccessファイルに

<Limit POST>
  Order deny,allow
  Deny from all
</Limit>

と書くことでアクセスを拒否することが出来ます。

ただ、上記の例と競合するような記述が既に無いかどうかという点に注意してく
ださい。

[Credits]
PHP Groupはこの脆弱性を発見してくれたStefan Esser of e-matters GmbHに感
謝します。

--- ここまで---

以上、取り急ぎ。

--
藤本 真樹

アストラザスタジオ
fujimoto@studio.co.jp
fujimoto@php.net