← 脆弱性チェッカー一覧// CVE-2026-109618 · CVE-2026-109619

PHP2Shell(CVE-2026-109618 / 109619):あなたのサイトは影響を受けていますか?

緊急 9.2悪用を確認公開 2026/10/21 · 更新 2026/10/28

PHP エンジン本体に存在する2件の重大な脆弱性により、認証なしの攻撃者がサーバー上でコードを実行できます。すでに実際の攻撃が確認されており、日本のサイトが最初の標的の一つとなっています。設定変更だけで完全に防ぐ方法はありません。ドメインを入力して、サーバーが公開しているバージョンを確認してください。

あなたのサイトは PHP2Shell の影響を受けていますか?

ドメインまたはパス付きの URL(例:/blog、/shop/)を入力すると、そのパスで動くアプリを確認します。読み取りのみ:通常のリクエストを数回送るだけで、攻撃コードは送信しません。

PHP2Shell 脆弱性のイメージ

PHP2Shell とは

PHP2Shell は、2026年10月21日の緊急リリースで公表された PHP コアの2件のリモートコード実行(RCE)脆弱性の通称です。いずれも CVSS v4.0 9.2 と評価されています。PHP エンジン自体の不具合のため、その上で動く WordPress、Laravel、EC-CUBE、Drupal、独自開発のコードなど、すべてが影響を受けます。

  • CVE-2026-109618 — リクエストの初期化中(multipart 解析)にメモリ不足が発生すると内部データが未初期化のまま残り、後処理がそれを正しいデータとして扱ってしまいます。Apache mod_php では、アプリケーションのコードが動く前に認証なしで RCE が成立すると PHP が報告しています。
  • CVE-2026-109619 — リクエストに属する内部状態が、参照先のメモリ解放後も残り、同じワーカーの次のリクエストが古いデータを使ってしまいます。致命的エラー後のセッションアップロード進捗や、PHP 8.5 の致命的エラーのバックトレースが確認済みの経路です。

修正リリースの前日に詳細が流出し、数時間以内に悪用が観測されました。日本の国家サイバー統括室も、運営者に対して直ちに更新するよう呼びかけています。

影響を受けるバージョン

ブランチ影響あり修正版
8.5< 8.5.128.5.12
8.4< 8.4.278.4.27
8.3< 8.3.368.3.36
8.2< 8.2.358.2.35
8.1 · 8.0 · 7.4すべてのバージョン公式リリースなし(ベンダーのバックポートのみ)
7.3 · 5.xすべてのバージョン—

Web リクエストを処理するすべての SAPI が対象です:PHP-FPM、Apache mod_php(最もリスクが高い)、php-cgi、LiteSpeed、FrankenPHP。

このチェッカーの仕組み

Watchpost は入力したページ(既定はトップページ)、そのリダイレクト先、index.php に通常の GET リクエストを数回送り、サーバーがすでに X-Powered-By または Server ヘッダーで公開している PHP のバージョンを読み取って、そのブランチの修正版と比較します。攻撃コードは一切送信しません。

  • バージョン非公開 ≠ 安全。多くのサーバーは expose_php = Off を設定しているか、ヘッダーを削除する CDN の背後にあります。その場合はさらに調べます:放置された phpinfo() ページ(/info.php、/phpinfo.php など)から正確なバージョンを、Apache/2.4.41 (Ubuntu) のような Server バナーから OS と標準の PHP を特定します。PHP があるのに修正を確認できない場合は、サーバー上で確認するまで脆弱とみなすよう警告します。
  • ディストリビューション版(例:8.3.6-0ubuntu0.24.04.13)は、元のバージョン番号を変えずに修正が適用されます。既知の Ubuntu の修正版は判定できますが、それ以外はベンダーの告知をご確認ください。
  • 結果はドメインごとに10分間キャッシュされます。修正後、少し時間をおいて再確認できます。

自分で確認する

# 1. What the site announces to the world
curl -sI https://your-site.example | grep -iE '^(x-powered-by|server):'

# 2. On the server (CLI and the web SAPI can differ!)
php -v
php-fpm8.3 -v        # or: php-fpm -v / httpd -M | grep php

# 3. Distribution package (Ubuntu / Debian / RHEL)
dpkg -l | grep -E '^ii +php[0-9.]*-(common|fpm|cli)'
rpm -q php php-fpm

重要なのは Web サーバーが実行しているバージョン(FPM または mod_php)であり、コマンドラインの php -v と一致するとは限りません。

対処方法

  1. PHP を更新:8.5.12、8.4.27、8.3.36、8.2.35、またはディストリビューションの修正済みパッケージ(Ubuntu 24.04:8.3.6-0ubuntu0.24.04.13、Ubuntu 22.04:8.1.2-1ubuntu2.28、Debian 13:8.4.27-1~deb13u1)。
  2. すべての PHP ワーカーを再起動。古い FPM ワーカーは再起動するまで脆弱なバイナリのまま動き続けます:
    sudo systemctl restart php8.3-fpm     # every FPM pool / version you run
    sudo systemctl restart apache2         # mod_php: restart Apache itself (httpd on RHEL)
  3. 共用レンタルサーバー:事業者の PHP(cPanel EA-PHP、CloudLinux alt-php など)に修正が適用済みか確認するか、コントロールパネルで修正済みバージョンに切り替えてください。
  4. 8.1 以前を使用中:8.2 以降への移行を計画してください。ベンダーのバックポートは時間稼ぎにすぎません。
  5. 修正後は expose_php = Off を設定し、バージョンを公開しないようにしましょう。

今夜中に更新できない場合

PHP は「設定変更だけで完全に緩和する方法はない」としています。更新までの間:

  • サーバーへのインターネットからのアクセスを制限してください(VPN、IP 許可リスト、CDN でのメンテナンス画面)。Apache mod_php のサーバーを最優先に。
  • session.upload_progress.enabled = 0、PHP 8.5 では fatal_error_backtraces = 0 を設定。これらは既知の特定経路を塞ぐだけです。
  • 新たに作られた PHP ファイル、Web ユーザーが起動した不審なプロセス、サーバーからの外向き通信を監視してください。

参考情報

このチェッカーが答えるのは1つの質問だけです。無料スキャンでは、公開ファイル、漏えいしたキー、TLS、ヘッダー、DNS など誰でも確認できる 50 以上の項目を診断し、ドメインの所有を確認するとさらに 200 以上の詳細な診断を利用できます。

フルスキャンを実行