crypt関数がソルトしか返さないバグ

PHP 5.3.7に重大なセキュリティ問題、アップデートはちょっと待った

2011/08/23

 PHP development teamは8月22日、PHP 5.3.7に重大な問題があることを明らかにした。数日以内に予定しているバージョン5.3.8のリリースまで、アップグレードを延期するよう呼び掛けている。

 PHP 5.3系の最新バージョンであるPHP 5.3.7は、この8月18日に公開されたばかりだ。セキュリティフィックスも含め、90以上のバグを修正する内容となっていた。

 しかしバグレポートやインターネット上のブログによると、PHP 5.3.7のcrypt関数には重大な問題が存在する。crypt()は文字列のハッシュ値を返す関数で、元の値に「salt(ソルト)」という乱数を付けた値のハッシュを生成する(ソルト付きハッシュ値)。しかしバージョン5.3.7でMD5アルゴリズムを利用した場合、crypt関数は肝心のハッシュ値なしでソルトのみを返す。従って、これをパスワード認証などに利用しているアプリケーションでは、最悪の場合、任意のパスワードでログインできてしまう可能性がある。

 なお、この問題はDES、BLOWFISHなどのアルゴリズムを用いた場合は発生しないという。

 この問題を受けてPHP development teamでは、近々バグを修正した5.3.8をリリースする予定だ。それまでの間、5.3.7へのアップグレードを控えるか、もしアップグレードしてしまった場合は5.3.6へのロールバックが推奨される。

(@IT 高橋睦美)

情報をお寄せください:



Security&Trust フォーラム 新着記事

注目のテーマ

Security & Trust 記事ランキング

本日 月間