PHP の重大な脆弱性 php2shell について

2026年になって WordPress をはじめ様々なもので脆弱性が発見されています。これも生成 AI による時代の流れのようですね。

今回は WordPress ではなく、その WordPress を実行している PHP というプログラミング言語自体の脆弱性についてです。この影響は凄まじく、ほとんど全てのサイトで影響があったと言っても過言ではありません。(W3Techs の調査によれば、世界中の Web サイトのおよそ 70% で使用されています)

本脆弱性は、日本時間 2026/10/21 23時ごろに修正版パッチが配信され、対応済みです。
ご自身のサーバが対応しているかバージョンをよく確認してください!

ベースバージョン修正済みのバージョン
8.2.x8.2.35
8.3.x8.3.36
8.4.x8.4.27
8.5.x8.5.12

※ PHP 8.1 以前のバージョンはサポート対象外のため公式には修正パッチが提供されていませんが、レンタルサーバ会社などが独自に提供している場合があります。
※ XServer は、PHP 5.6 ~ 7.4 までのバージョンに対しても独自に修正を織り込んだバージョンを提供しています。10月22日執筆時点の情報では 5.5 以前も対応予定とのこと。

php2shell という名前がついている2件の脆弱性で、影響度を表す CVSS スコアは10点満点中 9.2点と非常に高いものです。
PHP で作られていれば構成や使っている処理系にほとんど関係なくどんなサイトでも攻撃が成立する可能性があり、高市総理が 𝕏 で呼びかけるなど異例の対応となりました。

php2shell とは

CVE-2026-109618 と CVE-2026-109619 の2つの脆弱性の総称です。

CVE-2026-109618 は、メモリ不足により不適切に処理が中断されたときにメモリ上のデータが残ってしまう可能性のある脆弱性です。

CVE-2026-109619 は、同じ処理ワーカーが古い状態のメモリにアクセスできる可能性を示した脆弱性です。

これらを組み合わせることで、意図的にメモリ不足を引き起こして処理を中断して、同じワーカーで任意のコードを実行可能になります。ここで読んでわかる通りで、PHP 上のプログラムの中身に関係なく実行が可能になってしまう点が影響の大きさに繋がっています。つまり、どんな環境でも PHP を使ってさえいれば攻撃をする条件が整ってしまうということです。

対策は対応済みの PHP バージョンにアップデートすること

脆弱性の公開前にはいくつかの対処療法が共有されました。しかしながら、それらの対策は完璧ではないため、あくまで緩和策としてのものです。

修正済みのバージョンが公開されたということは、攻撃者はその差分を解析することで攻撃方法が分かってしまいます。そのため、修正版パッチが発表された現時点ではバージョンアップをすることを唯一の対策として考えてください。

もし、古い PHP バージョンを使っていて修正版が提供されない場合には、これを機にバージョンアップを検討してください。
場合によっては作り直しが必要になるかもしれません。慎重に判断をするようにしてください。

それでもどうしても延命したい場合は?

バージョンアップはできないが、どうしても延命したい場合には公式が用意した緩和策を試す価値があるかもしれません。

  • メモリの制限を無制限にする
  • POST サイズの上限を 8MB にする (大きなファイルのアップロードがある場合でも 32MB まで)
  • アップロードファイルの上限を POST サイズ上限よりも十分に小さくする
  • リソース制限でメモリの上限を設定する
  • session.upload_progress.enabled = 0 を php.ini で設定する (.user.ini では遅い)
  • PHP 8.5 では、fatal_error_backtraces = 0 を設定する
  • 無効や非推奨の設定を設定から取り除く
  • プログラム上のエラーが攻撃者にヒントを与えないようにプログラムを正確に修正する
https://www.php.net/archive/2026.php#2026-10-21-5

Web サイトの管理会社がすぐに対応してくれているかを確認

今回の脆弱性は、発表から修正版の公開までおよそ丸1日と時間的にかなりシビアでした。
修正版が公開されると5分後には攻撃が開始されると予想されていましたので、事前準備が重要です。

Web サイトを管理している管理会社や制作者の方がどの程度のスピード感で対応してくれたのかをよく覚えておいてください。なにも連絡なく、対応もしてくれなかったらその会社との関係は見直した方がいいかもしれません。

ちなみに私は、昨日からほとんど寝ていません。徹夜ではありませんが、十分に寝る時間はありませんでした。
今回のような深刻なケースでは、通常こういった対応になります。

コメント

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

コメントは日本語で入力してください。(スパム対策)

CAPTCHA