| « PHP:既知のセキュリティ脆弱性 - Session Adoption | 文字エンコーディングとセキュリティ(3) » |
PHP4.4.9のセキュリティ状態
PHP4のサポートは2008/8/8を持って終了しました。サポート終了に合わせて、最後のPHP4リリースとなる4.4.9がリリースされています。サポートが終了していますが、稼動中のPHPの半分はまだPHP4であるとる統計情報もあり、まだまだ現役です。
PHPプロジェクトのサポート終了したため、PHP 4.4.9のセキュリティ脆弱性はCVEなどでも報告されなくなりました。この為、普通にセキュリティ情報を収集していてもPHP4.4.9に対する脆弱性情報は入手できません。
フォローアップ
私の会社とSRA OSS Incと協力してPHP4のセキュリティパッチを独自に提供するサービスを行っています。このサービスの対応している脆弱性をWikiにまとめています。ほとんどの既知の脆弱性に対応していると同時に日本語ユーザが必要とする機能もバックポートしています。
サポートしている脆弱性の概要は、WikiのPHP/脆弱性リスト/PHP4をご覧下さい。
まだまだ、SQLインジェクションが無くなっていない事は非常に残念です。PHP4で作られたWebアプリケーションはSJISやEUCを文字エンコーディングに利用している為、文字エンコーディングベースのSQLインジェクションに脆弱なWebアプリケーションもかなり多くあると思われます。
Wikiのページを見ると文字エンコーディング関連の脆弱性が多く有ることが分かります。PHPセキュリティレスポンスチームにはPHP4サポート終了前に、脆弱性情報と共にパッチも提供し一部は修正されたのですが、残念ながら文字エンコーディング関連の脆弱性修正に必要な関数のバックポートなどは全く行われませんでした。
商用サービスをPHP4で提供されて、もうしばらくPHP4を利用される予定でいる方は、ライセンスも緩く使いやすいのでSRA OSS IncのPHP4セキュリティ保守サービスを検討されてもよいかも知れません。
1 コメント
PHPの大幅な仕様変更が必要な修正にも対応していません。PHP言語エンジンであるZendエンジンがリソースの参照数を管理していない為に解放済みのポインタにアクセスできてしまう脆弱性、に対応していません。こちらも、攻略用のスクリプトを実行しないとならないので、簡単に第三者が攻撃できる脆弱性ではありません。
セキュリティ上の問題でも修正できない問題にも対応していません。こちらは、Wikiの「PHP/脆弱性リスト/メモ」のページをご覧下さい。このページにはソース配布版のデフォルト設定でセキュリティ上問題となるphp.ini設定なども含めています。ディストリビューションによってphp.ini設定は異なるので全てのPHP環境に当てはまる問題ではありませんが、チェックする方が良いです。
この投稿にはモデレーション待ちのフィードバックが 1 件あります....