PHP Project:PHPの認証不要な遠隔コード実行の脆弱性2件と、AWS WAFによる緩和策

重要度
重要度:5段階中2 攻撃が確認された製品の弱点
公表日
2026.10.21
原因の分類
製品・サーバーの脆弱性
対策可能性
判定保留

この記事の3行まとめ

  1. PHPに認証なしで遠隔からコードを実行される緊急の脆弱性が2件見つかった
  2. ファイル送信の処理に問題があり、悪用されるとサーバーで任意のコードを実行されるおそれ
  3. PHPを修正版に更新するのが確実な対策で、AWS WAFは更新までの一時的な防御に使う

2026年10月21日、PHPプロジェクトがPHPコア部分の緊急修正版を公開した。対象は遠隔コード実行の脆弱性CVE-2026-109618とCVE-2026-109619の2件で、CVSS v4.0で9.2(Critical)と評価されている。認証なしで攻撃者にサーバー上のコードを実行されるおそれがある。資料はPHPの修正版への更新を最優先とし、AWS WAFのルールを更新までの緩和策として紹介している。なお、別件のCVE-2026-115560は今回の修正版では直っていない。

確認された経路・公表元の推定

  1. Amazon Threat Intelligenceが、公表前にPHP2Shellの悪用をMadPotで検知したと、関連記事で紹介されている。
  2. 2026年10月21日、PHPプロジェクトが、認証なしでサーバー上のコードを実行される2件の脆弱性について緊急修正版を公開した。
  3. CVE-2026-109618では、リクエストの途中でPHPのメモリが不足すると、メモリの内容がおかしくなる。
  4. CVE-2026-109619では、1回のリクエストが残した古いデータを、同じワーカープロセスの後続リクエストが再利用する。
  5. 2026年10月23日、PHPプロジェクトが別件のCVE-2026-115560を公表した。10月21日の修正版では修正されていない。

根拠の要点

資料は、2件の脆弱性がPHPのmultipart/form-data(ファイル送信に使われる形式)の処理にあり、認証なしで攻撃できると説明している。根拠は、PHP公式の勧告(GHSA-w8hw-w9fx-j79w、GHSA-6wmf-4rv5-p3rp)と2026年10月21日のPHPセキュリティ更新発表である。AWS WAFは緩和策であり、修正版への更新が唯一の完全な対策と明記している。

資料の基準時点:2026年10月23日の更新時点(取得日2026年10月25日)

当時、対策できたのか

判定保留

資料は、PHPが2026年10月21日に修正版を公開したと説明している。また、悪用が公表前から検知されていたとも示している。一方、攻撃の開始時期、利用者側で修正が適用されていた範囲、攻撃時点の防御条件は書かれていない。そのため、既知の脆弱性への対策の欠落は確認できず、判定を保留した。

公表された対策

  • PHPを8.5.12、8.4.27、8.3.36、8.2.35のいずれかの修正版に更新する。資料は修正版への更新が唯一の完全な対策だと明記している。
  • PHP 8.1以前はサポートが終了しているため、ディストリビューションや長期サポートの提供元に修正の提供を確認するか、サポートされるブランチへの移行を計画する。
  • AWS WAFのPHPアプリケーション用マネージドルールグループを既定バージョン(2.4以降)で有効にし、PHP2Shell_BODYとPHP2Shell_BODY_Extendedを使う。
  • CoreルールセットのSizeRestrictions_BODYルールで8KBを超える本文をブロックする。
  • multipart/form-dataを受け付けないアプリケーションでは、その形式のリクエストをブロックするルールを追加する。
  • session.upload_progress.enabled=0を設定し、全ワーカーを再起動する。修正後も、CVE-2026-115560への対策として維持する。
  • PHP 8.5ではfatal_error_backtraces=0を設定し、全ワーカーを再起動する。
  • pm.max_requests=1を、性能が許す範囲で設定し、リクエストごとにワーカーを再生成させる。
  • エラーログを有効にし、繰り返しの警告やタイムアウトがないか確認する。ログに異常がないことは安全の証明ではない。

この事例を理解するための動画

まだ分からないこと

  • 悪用が始まった正確な時期は、資料に日付で書かれていない。
  • 攻撃にAIが使われたかは、資料に記載がない。
  • 資料は、PHPが修正版を出すまでの暫定措置としてsession.upload_progress.enabled=0の設定を推奨している。修正版の時期は書かれていない。
  • PHP 8.1以前の修正版が提供されるかは、資料に書かれていない。
  • 利用者の環境で実際に被害が出たかは、資料に書かれていない。

関連する事例

同じ原因分類の事例

注意喚起の一覧に戻る