自分の Drupal サイトは PHP2Shell の影響を受けますか?
サイトで動いている PHP が系列ごとの修正版より古い場合、または PHP 8.1 以前で配布元の修正が入っていない場合は影響を受けます。PHP2Shell は PHP 本体の脆弱性(CVE-2026-109618 と CVE-2026-109619)なので、Drupal のバージョンやモジュールに関係なく、修正前の PHP で動く Drupal はすべて対象です。
Drupal は実際に検証されています。Wiz は、WordPress や Joomla とあわせて、Drupal 環境で認証なしのリモートコード実行を実証したと報告しています。
Drupal を更新すれば PHP2Shell は直りますか?
直りません。コアやモジュールを更新しても、サーバーの PHP は変わりません。Drupal セキュリティチームは PHP の修正版公開前に PSA-2026-10-20 を出し、修正を含む PHP への更新が「唯一の完全な対策」だと明記しました。PHP を自分で管理しているなら自分で更新し、ホスティング事業者が管理しているなら事業者の案内に従うよう求めています。
10月14日の Drupal コアのセキュリティリリース(PSA-2026-10-12 で予告)は Drupal 自体の別の問題を直すもので、PHP2Shell とは無関係です。こちらも適用は必要です。
Drupal が使っている PHP のバージョンはどう調べますか?
サーバーにログインしなくても確認できます。
- 管理者でログインします。
- レポート → ステータスレポート(
/admin/reports/status)を開きます。 - PHP の欄のバージョンを控えます。これがサイトを動かしている PHP です。
Drush の drush status でも PHP のバージョンは出ますが、これはコマンドライン用の PHP で、サイトを動かす PHP-FPM などと違うことがあります。控えたバージョンを PHP2Shell チェッカーに入力してください。そのほかの方法は PHP バージョン確認方法へ。
どの PHP バージョンに上げればいいですか?
Drupal が対応している系列の修正版を選びます。Drupal の PHP 要件は次のとおりです。
| Drupal | 対応 PHP | 選べる修正版 |
|---|---|---|
| 10.4〜10.6 | 8.1〜8.4 | 8.2.35・8.3.36・8.4.27 |
| 11.1・11.2 | 8.3・8.4 | 8.3.36・8.4.27 |
| 11.3・11.4 | 8.3〜8.5 | 8.3.36・8.4.27・8.5.12 |
| 12.0 | 8.5 | 8.5.12 |
| 系列 | 最初の修正版 |
|---|---|
| PHP 8.2 | 8.2.35 |
| PHP 8.3 | 8.3.36 |
| PHP 8.4 | 8.4.27 |
| PHP 8.5 | 8.5.12 |
| 8.1 以前 | 新しいリリースなし(7.4・8.0・8.1 は公式ソースパッチあり) |
Drupal 10 は PHP 8.1 にも対応していますが、PHP 8.1 には PHP 公式の新しいリリースがありません。配布元の修正済みパッケージ(例:Ubuntu 22.04 の php8.1)を使うか、8.2 以降へ移ってください。いちばん手早いのは、今の系列の修正版への更新(例:8.3.x から 8.3.36)です。古い系列は PHP サポート終了版もご覧ください。
Drupal の PHP は誰が更新しますか?
| サイトの置き場所 | PHP を更新する人 | 手順 |
|---|---|---|
| レンタルサーバー・マネージドホスティング | 事業者 | PHP2Shell 対処法:問い合わせ文あり |
| エックスサーバー | 事業者(切り替えはご自身) | エックスサーバーの PHP バージョン |
| さくらのレンタルサーバ | 事業者 | さくらの PHP バージョン |
| 自分で管理する Ubuntu / Debian | ご自身 | Ubuntu での PHP 更新 |
| Docker | ご自身(イメージを作り直す) | Docker の PHP イメージ |
更新後は PHP-FPM や Apache を再起動し、Drupal のキャッシュをクリアしてから、ステータスレポートで新しいバージョンを確認します。
Drupal サイトがすでに侵害されていないか、どう確認しますか?
PHP を更新しても、過去の侵入の有無は分かりません。次の点を確認してください。
- ユーザー:心当たりのない「管理者」ロールのアカウント(ユーザー → ロールで絞り込み)。
- ファイル置き場:
sites/default/filesの中の.phpファイル。 - モジュール:「拡張」や
modules/customにある、入れた覚えのないもの。 - 設定:
settings.phpや.htaccessの身に覚えのない変更。
不審な点があれば 侵害チェックリストに沿って対応し、復旧後にパスワードと settings.php の hash_salt を変更してください。
WAF や PHP の設定変更で Drupal は守れますか?
どちらも修正ではありません。Cloudflare は WAF が既知の攻撃パターンを防ぐ一方、攻撃者が検知をすり抜けようと手口を変えていたと公表しています。Drupal のモジュールは PHP の上で動くため PHP 本体は直せず、PHP 公式はアプリのコードより前に到達できる攻撃経路を確認しています。暫定対策の限界は CVE-2026-109618 回避策、更新の進め方は PHP2Shell 対処法をご覧ください。
Drupal から PHP2Shell 用の更新は出ていますか?
出ていません。Drupal セキュリティチームは公共サービス告知 PSA-2026-10-20 で PHP の更新を呼びかけました。脆弱性は PHP 側にあるため、Drupal コアやモジュールの修正版はありません。
マネージドの Drupal ホスティングを使っています。何をすればいいですか?
PHP の更新はホスティング事業者の作業です。事業者のお知らせを確認し、更新後にステータスレポートで PHP のバージョンが修正版以上になったか確かめてください。
情報源
このページの主要な事実(修正版、CVE の内容、配布元のパッケージ、公的機関の呼びかけ)は公式の情報源にもとづいています。研究者の報告、報道、コミュニティの投稿はそれぞれ区別して表示しています。
- Security advisory: Critical remote code execution vulnerabilities, update now公式 The PHP Group
- RCE via OOM corruption公式 The PHP Group
- RCE via stale global state公式 The PHP Group
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet研究 Wiz Research
- Cloudflare deploys protections against php2shell vulnerabilityCDN 事業者 Cloudflare
- USN-8948-1: PHP vulnerabilities事業者 Canonical
- Critical PHP update on Wednesday, October 21, 2026 (14:00 UTC) - PSA-2026-10-20公式 Drupal Security Team
- PHP requirements公式 Drupal.org