CVE-2024-8927 — cgi.force_redirect の回避(環境変数の衝突)
CVE-2024-8927 · CVSS v3.1 7.5 (HIGH) — CNA: PHP Group · CVE公開日 2024-10-08
概要 / What it is
PHPのCGIバイナリは、HTTPサーバー経由で起動されたかを環境変数 HTTP_REDIRECT_STATUS で判定します。条件によってはこの値をリクエスト送信者がHTTPヘッダーで操作でき、cgi.force_redirect が正しく適用されません。構成によっては任意ファイルのインクルードにつながる可能性があります。
English: cgi.force_redirect bypass via HTTP_REDIRECT_STATUS environment variable collision; may lead to arbitrary file inclusion in certain configurations.
影響を受けるバージョン / Affected versions
- PHP 8.1.* : 8.1.30 未満
- PHP 8.2.* : 8.2.24 未満
- PHP 8.3.* : 8.3.12 未満
条件: PHPをCGIとして実行している構成。
自分のPHPバージョンを確認する方法
- サーバーにSSHできる場合:
php -v(CLI。Webサーバー側と異なる場合があります) - Webで実際に使われているバージョン: 管理画面のサーバー情報、または一時的に
phpinfo()を設置して確認し、確認後すぐ削除 - WordPress: 管理画面「ツール → サイトヘルス → 情報 → サーバー」
対策 / Fix
- 8.1.30 / 8.2.24 / 8.3.12 以降へ更新(サポート中ブランチの最新版を推奨)。
- CGI構成をやめ、PHP-FPM等へ移行することも有効です。
よくある質問
PHP-FPMを使っていれば影響しませんか?
CVEの記載はCGIバイナリの判定処理に関するものです。CGIとして実行していない構成は条件が異なりますが、同じリリースで他の問題も修正されているため、更新を推奨します。
出典 / Sources
最終確認日: 2026-10-21