PHPに重大な脆弱性「php2shell」。Webサイト運営者が確認すべきこと

当社保守管理契約のお客様へ

当社と保守管理契約を結んでいるお客様のサイトは、今回の脆弱性への対応を完了しています。お客様側での作業は必要ありません。
以下は、保守契約の対象外のサイトや、ご自身でサーバーを管理している方に向けた情報です。

2026年10月21日、WordPressをはじめ多くのWebサイトを動かしている「PHP」に、深刻な脆弱性が2件公表されました。ログインしていない第三者に、外部からサーバー上でプログラムを実行される恐れがあるもので、国内外の公的機関が早急な更新を呼びかけています。この記事では、何が起きたのか、自分のサイトが対象かどうかの確かめ方、PHPのバージョン別の対応を、2026年10月23日時点の情報で整理します。

何が起きたか

PHP(Webサイトの裏側で動くプログラミング言語。WordPressもPHPで作られています)の開発チームは10月20日、重大な脆弱性を修正する緊急リリースを予告しました。修正版は日本時間の10月21日23時に公開されています。

脆弱性の識別番号はCVE-2026-109618とCVE-2026-109619です。深刻度を示すCVSS(脆弱性の深刻さを0〜10で表す国際的な指標)の値はどちらも9.2で、最も高い「緊急」に分類されます。セキュリティ業界では「php2shell」という通称で呼ばれていますが、PHP公式の名称ではありません。

本来は10月22日に公表される予定でしたが、情報が事前に漏れたため1日前倒しされました。修正版の公開前後には、海外のセキュリティ企業が実際の攻撃とみられる通信を観測したと報告しています。国内でもIPA(情報処理推進機構)が注意喚起を出し、レンタルサーバー各社が緊急メンテナンスを行いました。

項目内容
識別番号CVE-2026-109618/CVE-2026-109619
深刻度CVSS v4.0で9.2(緊急)
起こりうること認証なしで外部からサーバー上のプログラムを実行される
修正版の公開2026年10月21日 23時(日本時間)
修正版8.5.12/8.4.27/8.3.36/8.2.35

何が危ないのか

今回の脆弱性は、リモートコード実行(RCE:外部からサーバー上で任意のプログラムを動かされること)につながるものです。攻撃が成功すると、ページの改ざん、データや個人情報の持ち出し、別の攻撃の踏み台にされるといった被害が考えられます。

注意したいのは、不具合がPHP本体にある点です。WordPressやプラグインを最新にしていても、それだけでは防げません。PHP公式は、Apacheにmod_php(ApacheにPHPを組み込んで動かす方式)を使った環境で、サイトのプログラムが動く前の段階で攻撃が成立することを実証したと説明しています。PHP-FPMやLiteSpeedなど、Webからのアクセスを処理する構成も更新の対象です。

なお、この2件はセキュリティ企業のCalifとWizが2026年8月に、それぞれAIを使って独立に発見したものと報告されています。

自分のサイトが対象か確かめる

WordPressなら管理画面で確認できる

WordPressの管理画面で「ツール」→「サイトヘルス」→「情報」タブを開き、「サーバー」の項目を見るとPHPのバージョンが表示されます。レンタルサーバーのコントロールパネルにも、PHPのバージョン設定画面があるのが一般的です。

WordPressを使っていないサイトでも、お問い合わせフォームや予約システムなどでPHPが動いていることがあります。「うちは関係ない」と判断する前に、一度確認しておくと安心です。

修正済みのバージョン

系列修正版補足
8.58.5.12サポート中
8.48.4.27サポート中
8.38.3.36サポート中
8.28.2.352026年末でサポート終了予定
8.1以前なしサポート終了済み。公式の修正版は出ない

ただし、表示されるバージョン番号だけで判断できない場合があります。Linuxの配布元は、修正だけを取り込んだ独自の番号でパッケージを出すことがあるためです。レンタルサーバーを使っている場合は、事業者の告知で「適用済み」と明記されているかを確認するのが確実です。

バージョン別の対応

PHP 8.3〜8.5を使っている場合

レンタルサーバーでは、事業者がサーバー側で修正版を適用するのが一般的です。利用者側の作業は不要なことが多いものの、事業者のお知らせで対応状況を確認してください。

PHP 8.2を使っている場合

今回は修正版が出ているため、事業者の適用を待てば当面は問題ありません。ただし8.2は2026年末でサポートが終わる予定です。年内に8.3以上へ切り替える計画を立てておくと、次に同じことが起きたときに慌てずに済みます。

PHP 8.1以前を使っている場合

公式の修正版は提供されません。7.4・8.0・8.1向けに最小限の修正ソースが例外的に公開されましたが、通常のリリースではなく、レンタルサーバーで利用者が適用できるものではありません。早急に8.3以上へ引き上げてください。

VPSや自社サーバーで運用している場合

OSの配布元が出している修正済みパッケージを適用し、PHP-FPMやApacheを再起動します。パッケージを更新しても、修正版がまだ配布されていなければ脆弱なままです。配布元のセキュリティ情報と、実際に入っているパッケージのバージョンを照合してください。

バージョンを上げる前の注意

古いテーマやプラグインは、新しいPHPで動かず画面が真っ白になることがあります。切り替え前にバックアップを取り、テーマとプラグインを最新にしておきます。切り替え後は主要ページとフォームの動作を確認し、不具合が出たときに元に戻す手順も把握しておきましょう。ただし、古いバージョンに戻した状態は脆弱なままなので、あくまで一時的な措置です。

設定変更やWAFだけでは防げない

公表直後、PHPの設定(session.upload_progress.enabled)を無効にすれば回避できるという情報が広まりました。しかし、最初にこの方法を紹介したGMO Flatt Securityはその後、設定だけでは回避できない見込みだと見解を改めています。PHPのコア開発者も、PHPの更新以外に緩和策はないと述べています。

CloudflareやAkamaiなどは、WAF(Webアプリケーションファイアウォール:不正な通信をサーバーの手前で遮断する仕組み)で攻撃を防ぐルールを公開しています。これは更新までの時間稼ぎにはなりますが、PHP本体の修正の代わりにはなりません。

また、修正版の公開前から攻撃が観測されていたため、更新しただけで安心はできません。管理者ユーザーに見覚えのないアカウントがないか、サーバー上に身に覚えのないファイルが増えていないかも確認しておくと安全です。

まとめ:まず確認しておきたいこと

  1. サイトで動いているPHPのバージョンを確認する
  2. レンタルサーバー事業者の告知で、修正版が適用済みかを確認する
  3. 8.1以前なら、すぐに8.3以上への引き上げを進める。8.2なら年内の引き上げを計画する
  4. WordPressの管理者ユーザーとサーバー上のファイルに不審な点がないか確認する

今回の件は、WordPressやプラグインの更新だけではサイトを守りきれないことを示しています。PHPのバージョンは普段意識しにくい部分ですが、これを機にサーバー側の設定も定期的に確認する習慣をつけておくと、次の脆弱性が出たときの判断が早くなります。最新の状況はIPAの注意喚起ページとPHP公式サイトのお知らせで確認できます。