コンテンツにスキップ

PHP重大脆弱性CVE-2026-109618と109619、緊急パッチ適用を

PHPプロジェクトが2026年10月21日、認証なしRCEを可能にする2件の重大脆弱性を修正。CVSSv4.0スコアは9.2で、パッチ適用と動作確認が急務だ。

読了時間:5分 編集方針

PHPプロジェクトは2026年10月21日、認証なしでリモートコード実行を可能にする2件の重大な脆弱性に対するアップデートを公開した。WebサイトやPHPベースのアプリケーションを管理する担当者にとって、最優先事項はサーバーで使用しているPHPエンジンを更新し、実行中のプロセスが正しいバージョンを読み込んでいることを確認することだ。CMSだけを更新しても、言語エンジン自体の欠陥は修正されない。

この2件の脆弱性はCVE-2026-109618およびCVE-2026-109619として識別されており、いずれもCVSSv4.0スコアで9.2(10点満点)という深刻度評価が付けられている。CloudflareはX上の投稿で自社顧客に対する攻撃トラフィックを観測したと表明し、CloudLinuxも既知のパターンに一致する試みを報告している。これらは敵対的な活動の証拠であるが、脆弱なすべてのインストールが侵害されたことを意味するわけではない。

メモリ管理における2つの問題

言い換えると、CVE-2026-109618は。メモリが枯渇した際のPHPの動作に関係する。処理が中断されると。内部データが部分的に初期化されたまま残る場合がある。リクエストの終了処理の過程で。プロセスがそのデータを有効なものとして扱ってしまうことがある。公式アドバイザリによれば。Webプロセスを実行しているアカウントの権限で。認証なしにコードが実行される可能性がある。

PHP: News Archive - 2026
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.

CVE-2026-109619は、メモリが解放された後も内部の参照が残り続ける状態に関係する。同じプロセスが次のリクエストを処理する際、すでに無効となった参照を使用してしまう可能性がある。この場合も、リモートからのコード実行が実証されている。ただし、これは自動的にシステム管理者権限を取得することを意味しない:初期的な影響は、対象プロセスのアクセス権限に依存する。

影響を受けるサーバー構成

PHPの勧告は、PHP-FPM、mod_phpを使用したApache、php-cgi、FrankenPHP、LiteSpeedを通じてWebリクエストを処理するインストールを対象としている。プロジェクトはmod_phpを使用したApacheでリスクが最も高いと判断している。この構成では、攻撃がアプリケーションコードの実行が始まる前に発動することが実証されている。CMSに組み込まれたチェックは、この経路に対する十分な防御とはみなせない。

リスクの程度はすべての構成で同一ではない。アドバイザリは、実行モード、拡張機能、アプリケーションの条件によって異なる実証済みの経路と潜在的な条件を区別している。2件目の脆弱性については、セッション管理サイクルを通じてPHP-FPMでもリモート実行が検証されている。PHP-FPMを使用しているだけでサーバーが安全とは言えない。

確認すべき3つのポイント

  • 深刻度:2件ともCVSSv4.0で9.2の重大な脆弱性。
  • 対処法:PHPを更新し、サイトを提供しているプロセスが正しいコードを読み込んでいることを確認する。
  • 検証:ターミナルで表示されるコマンドだけでなく、Webサーバーが実際に使用しているPHPエンジンを確認する。

修正済みバージョンとバックポートパッケージの注意点

言い換えると、PHPプロジェクトは、現在メンテナンスされている4つのブランチに対して最初の修正リリースを示している。この情報はプロジェクトが配布するバージョンに関するものであり、Linuxディストリビューションやサポートベンダーのパッケージについてはそれぞれのセキュリティ情報も確認する必要がある。

各バージョンの詳細は、2件の脆弱性の公式アドバイザリに記載されている。

PHP 8.1以前のブランチはPHPプロジェクトによる更新を受け取らなくなっているが、一部のベンダーは古いバージョンに修正を適用した、いわゆるバックポートパッケージをメンテナンスしている。これらのパッケージでは、元のバージョン番号だけでは修正が含まれているかどうかを判断できず、配布されているリビジョンとベンダーの案内を確認する必要がある。なお、PHP 8.2の公式セキュリティサポートは2026年12月31日に終了する。このパッチを適用することと、移行を計画することは、それぞれ独立した対応事項だ。

更新方法と結果の確認

アップデートは、サーバー上で使用されているすべてのPHPインストールに適用する必要がある。一つのシステムが複数のバージョン、複数のサイト、個別のプロセスを抱えていることは珍しくない。cPanelのリリースノートでは、パネル内部のPHPとEasyApache経由でサイトに割り当てられたパッケージを区別して説明している。PleskやCloudLinuxも各コンポーネントおよびプラットフォーム向けの個別ガイダンスを公開しており、実際に使用している環境での対応可否を個別に確認する必要がある。

Cloudflare deploys protections against php2shell vulnerability
Cloudflare has deployed default web application firewall (WAF) protections for newly disclosed PHP vulnerabilities before public disclosure. The rules use request and response signals to stop exploit attempts and prevent exposed data from reaching attackers.

php -v コマンドはシェルが実行するバイナリを示すが、それがサイトに設定されたエンジンと異なる場合がある。正しいコンテキストを確認するには、コントロールパネルの設定画面か、Webサーバーが実行する診断ページを使うのが確実だ。phpinfo() を使う場合は、アクセスを厳しく制限し、確認後すぐにページを削除すること。パス、設定値、ヘッダー、環境変数が外部に露出するリスクがある。担当の管理者やホスティング事業者と合わせて行うべき手順は次のとおりだ。

  1. バックアップまたはスナップショットを準備する。復元手順を事前に確認しておくこと。
  2. 使用中のバージョンとコンポーネントを特定する。各サイトに割り当てられたエンジンとパネルが使用するエンジンの両方を含む。
  3. 正しいパッケージをインストールする。ディストリビューションのパッケージマネージャーか、ホスティング事業者の公式ツールを使用する。
  4. 対象サービスとプロセスを再起動する。PHP-FPM、Apache、またはご利用の環境に応じた手順に従い、古いプロセスがリクエストを処理し続けないよう確認する。
  5. ターミナルとサイト両方から結果を確認する。バージョン番号、パッケージのリビジョン、アプリケーションの動作状況を検証する。

WAFや一時的な緩和措置はパッチの代わりにならない

CloudflareとCloudLinuxは、一部の攻撃パターンを遮断するWAFルールを展開している。これはあくまで追加の防御レイヤーであり、サーバー上の脆弱性そのものを除去するものではない。Cloudflare自身も。WAF保護が有効な状態でもPHPアップデートを適用するよう公式ブログで推奨している。

公式アドバイザリーに示された設定変更も、特定のパスやシナリオを対象としたものにすぎず、汎用的な解決策ではない。アプリケーションの構成に照らして評価し、設定の正しい箇所に適用する必要がある。この2つの脆弱性から完全に保護するには、PHPプロジェクトまたはベンダーのパッケージが提供する修正済みコード自体が不可欠だ。

より広い視点で見る

最終的に問題となるのは、サーバーが実際に何を実行しているかだ。パッケージが更新済みであること、パネルが最新バージョンであることは、各サイトが古いエンジンから離脱していることの証明にはならない。確認はリクエストを受け取って処理するプロセスのレベルまで踏み込む必要がある。

管理者にとって、対応が完了したと言えるのは3つの検証可能な結果が揃ったときだ。修正の適用、プロセスの更新、公開アプリケーションの動作確認。この順序を踏むことで。パッチが利用可能であることと。パッチが実際に有効になっていることを混同せずに済む。

情報源

プロモーションコンテンツ