php.net ではありません · NVD ではありません · CISA ではありません

PHP 脆弱性トラッカー

PHP のセキュリティ脆弱性に関する非公式ブリーフィング

English简体中文日本語DeutschFrançaisNederlandsEspañol

セキュリティ警報

PHP2Shell:PHP をアップデートしてください。それが唯一の完全な修正です。

CVE-2026-109618 と CVE-2026-109619 は、PHP 本体に存在する認証不要のリモートコード実行(RCE)の深刻な脆弱性です。PHP プロジェクトは 2026 年 10 月 21 日、サポート中の 8.2〜8.5 系に修正版を公開しました。アップデート後は PHP を再起動してください。ファイアウォールは代わりになりません。

対策の手順

PHP セキュリティ解説 · 防御向け

phpinfo() の露出:なぜ問題か、どう直すか

phpinfo() は PHP の設定をすべて表示します。サーバー構築中は便利ですが、公開したまま残すと攻撃者への贈り物になります。

最終更新

どんな問題か

PHP マニュアルによれば phpinfo() はコンパイルオプション、拡張、PHP のバージョン、サーバー情報、環境変数、HTTP ヘッダーなど PHP の現在の状態について大量の情報を出力します。本番サイトでは、データベースのホスト名、環境変数に置いた API キー、内部パスが含まれることがあります。MITRE ではこれを CWE-200(機密情報の露出)に分類します。

見つけ方

直し方

読み取り専用の確認と安全な書き方

# Find leftover phpinfo() files (read-only)
grep -rln "phpinfo\s*(" --include=*.php /var/www 2>/dev/null | grep -v /vendor/

# Check your own site for common file names (only on hosts you own)
for f in phpinfo.php info.php test.php i.php; do
  curl -s -o /dev/null -w "%{http_code} $f\n" "https://your-site.example/$f"
done

; php.ini: stop advertising the version and block the function
expose_php = Off
disable_functions = phpinfo

PHP のバージョンが見えるのは本当に問題ですか?

それ自体は脆弱性ではありませんが、サーバーがまだ 8.2.35・8.3.36・8.4.27・8.5.12 より前かどうかを攻撃者に教えてしまいます。消すのにコストはかかりません。

ホスティングのコントロールパネルで phpinfo が見えます。露出ですか?

パネルのログインの内側なら露出ではありません。問題は認証なしでアクセスできる phpinfo ページです。

ほかの PHP の脆弱性の種類

出典

外部リンクは本サイトの外に移動します。本サイトはエクスプロイトコードを掲載しません。

  1. phpinfo() — PHP Manual
  2. Core php.ini directives (open_basedir, expose_php) — PHP Manual
  3. CWE-200: Exposure of Sensitive Information to an Unauthorized Actor — MITRE CWE