トップ/記事一覧/PHPの脆弱性、何が危険? 高市首相も注意喚起、対象と対策を解説
高市首相の公式肖像と「PHPの脆弱性 何が危険?」の見出し。対象と対策、侵入後の被害を扱う記事のカバー。

PHPの脆弱性、何が危険? 高市首相も注意喚起、対象と対策を解説

高市首相が「大至急」と呼びかけたPHPの脆弱性(php2shell)。アプリの実行権限を奪われると、顧客情報やメール送信にどう被害が及ぶのか。対象と修正版、WordPress利用時の確認先を整理し、侵入後の影響を隔離環境のGIF6本で示します。

ニュース2026年10月22日公開
目次
この記事のポイント

高市首相が「大至急」と呼びかけたPHPの脆弱性(php2shell)。アプリの実行権限を奪われると、顧客情報やメール送信にどう被害が及ぶのか。対象と修正版、WordPress利用時の確認先を整理し、侵入後の影響を隔離環境のGIF6本で示します。

PHPは、WordPressなどのWebサイトをサーバー側で動かすために使われています。今回の重大な脆弱性「php2shell」が悪用されると、攻撃者にWebアプリの権限で命令を実行されるおそれがあります。Webアプリは普段から顧客情報を読み、メールを送り、ログイン状態を管理しています。その仕事に必要な権限と接続情報を、攻撃者にも使われてしまうことが問題です。

2026年10月21日夜、高市首相は「大至急のお願いです」と、PHPの修正プログラムへの対応を呼びかけました。翌22日には、自身の公式サイトも一時停止して対応し、再開したと報告しています。

高市早苗首相の注意喚起(2026年10月21日)をXで読む

サイトを運営している人は、保守担当者やサーバー会社に、PHPの修正が適用済みかを確認してください。WordPress本体の更新だけで済む話ではありません。すぐに修正できない場合は、一時停止も含めて判断する必要があります。対象と修正版、確認先は後半にまとめています。

なぜ、サーバーの管理者権限がなくても危険なのか

会員制のサイトなら、Webアプリは会員情報を表示するためにデータベースへ接続します。登録完了メールを送るには、メール配信サービスも使います。そのため、アプリにはそれぞれの接続先で認証を受けるためのパスワードや鍵が必要です。

こうした認証情報は、アプリが参照できる設定に持たせます。今回使ったLaravelの検証環境では、.env という名前の設定ファイルに保存しています。ファイル名や管理方法は現場によって違い、環境変数や外部の秘密情報管理サービスを使う構成もあります。

アプリを動かす権限で、そのアプリのプログラムや必要な設定を読めるのは、通常の動作です。そこを攻撃者に使われると、データベースやメールの認証情報にも手が届きます。サーバー全体を管理する権限まで奪われなくても、アプリが扱う情報は被害を受け得ます。

アプリの実行権限で、検証用の設定ファイルにある接続情報を表示するGIF
アプリを動かす権限(画面ではwww-data)で設定ファイルを表示。データベースやメールなど、アプリが使う認証情報が入っています。すべて検証用のダミーです。 画像を押すと原寸で開きます。

以降のGIFは、外部と通信できない検証環境で、アプリの実行権限を使って操作したものです。脆弱性を突く攻撃そのものは再現していません。命令を実行される状態になった後、どこに被害が及ぶかを示しています。

顧客情報は、サイトの管理画面を通さず読まれる

Webサイトのログイン画面を厳しくしていても、データベースへ直接接続できる情報を知られると、攻撃者はサイトのログイン画面を使う必要がありません。アプリがデータベースで認められている権限を使って、顧客情報を読まれるおそれがあります。

データベースの会員一覧を表示し、メールアドレスを変更して元に戻すGIF
検証用の会員一覧を表示し、登録メールアドレスを書き換えてから元に戻しています。氏名とメールアドレスはダミーです。 画像を押すと原寸で開きます。

このデータベース利用者には、読み取りに加えて更新の権限もあります。そのため、会員情報の持ち出しに加え、登録内容の改ざんも可能になります。たとえば、パスワード再設定の案内を登録メールアドレスへ送るサイトでは、その宛先を書き換えられることがアカウントの乗っ取りにつながり得ます。

GIFで示しているのは、一覧の読み取りと登録メールアドレスの変更です。パスワード再設定や、その後のログインまでは試していません。アプリに与えるデータベース権限が広いほど、侵入された後の操作範囲も広くなります。

アプリのメール送信権限を、不正な案内に使われる

アプリがメールを送れるなら、同じ権限を奪った相手にも、その送信機能を使われる危険があります。会社名を名乗る案内や、偽のアカウント確認メールを送る手段になってしまいます。

アプリの設定でメールを送り、ラボ内の受信箱で差出人と件名を確認するGIF
アプリのメール機能で、「IT Support」という表示名の検証メールを送信。ラボ内のMailpitという受信箱で確認しています。外部への送信はしていません。 画像を押すと原寸で開きます。

この操作では、アプリに設定済みの送信経路を使っています。本番で送れる差出人や宛先の範囲は、メール配信サービス側の制限によって変わります。アプリが使う送信権限も、侵入後の影響を調べる対象です。

ログイン状態の保存先や、暗号化の鍵にも影響する

ログイン状態を保存する場所にも、接続情報がある

ログイン中の利用者を識別するデータを、Redisという保存の仕組みに置くサイトがあります。Redisへの接続に必要な情報をアプリが持っていれば、攻撃者もその保存先へ接続できる可能性があります。

検証環境のRedisに接続し、保存されたキーの一覧を表示するGIF
Redisに接続して、キャッシュや処理待ちデータのキー名を表示しています。ログイン状態のデータを使ったなりすましは試していません。 画像を押すと原寸で開きます。

ログイン状態のデータを読まれた場合、なりすましに使えるかどうかは、保存内容やサイトの認証方法によって変わります。今回の画面はRedisへの接続を示すもので、ログインの乗っ取りまで実証したものではありません。

暗号化していても、その鍵を使われると保護が崩れる

アプリが個別のデータを暗号化して保存していても、読み出すときには復号するための鍵が必要です。Laravelでは、APP_KEY という設定にある鍵を使って暗号化・復号する機能があります。攻撃者にアプリと同じ処理を実行されると、その機能も使われ得ます。

Laravelの暗号化機能を使い、検証文字列を暗号化して元に戻すGIF
LaravelのCryptという機能で、検証文字列を暗号化してから復号しています。使っているのはラボのAPP_KEYです。 画像を押すと原寸で開きます。

影響するのは、その鍵で保護しているデータです。暗号鍵を知られたからといって、会員パスワードをすべて復号できる、という意味ではありません。パスワードを元に戻せない形に変換して保存する処理(ハッシュ化)は、この暗号化とは別の仕組みです。

プログラムを書き換えられなくても、情報は流出し得る

アプリのプログラムを読み取り専用にし、書き込める場所を絞ることは、改ざんや不正なプログラムの設置を防ぐ助けになります。ただし、アプリが必要とする情報の読み取りまでは止まりません。

公開フォルダとプログラムへの書き込みが拒否され、外部通信も失敗するGIF
公開フォルダとプログラムへの書き込みは拒否され、非公開のstorageには書き込めます。外部通信の失敗は、ラボで意図的に遮断しているためです。 画像を押すと原寸で開きます。

この環境では、Webから実行できる場所に不正なファイルを置く操作は拒否されます。一方で、ここまで見た顧客情報の読み取りやメール送信は、アプリにもともと必要な権限で行えます。プログラムを勝手に書き換えられない構成でも、守り切れない情報があるということです。

GIFで試した数通りの操作から、侵入後に居座る方法をすべて防げるとまでは判断できません。外部への通信も、本番では業務上必要な宛先へ許可していることがあります。その通信先や、クラウドで使える権限も含めて影響を調べます。

対象と修正版。誰に、何を確認すればいいか

PHP公式は、Webからのアクセスを処理するPHP全般に注意を呼びかけています。PHP-FPMやApacheのmod_phpなどが含まれ、WordPressを使うサイトも確認が必要です。今回の識別番号はCVE-2026-109618とCVE-2026-109619、深刻度を示すCVSS v4.0の値は、いずれも10点満点の9.2です。

PHPの系列今回の修正を含む版
8.5系8.5.12
8.4系8.4.27
8.3系8.3.36
8.2系8.2.35

レンタルサーバーなら、まず契約先の対応状況を確認します。制作会社や保守会社に任せている場合は、「このサイトのPHPに今回の修正は適用済みか。更新後の再起動まで終わっているか」を聞いてください。WordPressの管理画面で更新を押しただけでは、サーバーのPHPまで修正されたとは限りません。

自分でサーバーを管理している場合は、提供元の修正済みパッケージへ更新し、PHPを動かしているプロセスを再起動します。OSの提供元が修正だけを取り込むこともあるため、版番号に加えて提供元の告知も確認します。PHP 8.1以前は、保守契約先による修正の提供状況を確認するか、サポート中の系列へ移行してください。

すぐに修正できない場合は、外部からアクセスできる状態を続けるか、保守担当者と判断します。首相の投稿でも一時停止が挙げられています。PHP公式は、設定変更による緩和だけでは完全な対策にならないとしています。

高市早苗首相の公式サイト対応・再開の報告(2026年10月22日)をXで読む

一時停止には業務への影響があるため、作業する人だけで決められないことがあります。運営責任者が停止の可否と連絡先を決め、保守担当者が更新と再開確認を進められるようにしておく必要があります。

侵入が疑われる場合は、更新だけで終わらせない

修正版への更新は、これからの侵入を防ぐための対応です。それより前に顧客情報をコピーされていれば、バックアップからサイトを戻しても、そのコピーを取り消すことはできません。接続情報を知られていれば、鍵を交換・無効化する対応も必要になります。

侵入が疑われる場合は、アクセス記録などを保全し、顧客情報、データベース、メール配信、クラウドへの影響を調べます。調査結果に応じて、認証情報の交換や、すでに発行したログイン状態を無効にする対応を進めます。

Webへの不正な通信を検知・遮断するWAFも、侵入を防ぐ手段の一つです。ただし、導入済みでもPHPの修正や影響調査を省けるわけではありません。今回のラボでは、WAFの効果は検証していません。

保守する側では、データベース・メール配信・クラウドの権限を、アプリの仕事に必要な範囲へ絞ります。認証情報を設定ファイルから環境変数へ移すだけでは、同じ実行権限を使われた場合の対策として十分ではありません。アプリが取得できる鍵と、その鍵で何ができるかまで確認します。

出典と検証の範囲

公開情報は2026年10月22日に確認しました。検証環境の会員情報・メール・認証情報はすべてダミーです。GIFはアプリの権限を使った影響の検証であり、脆弱性を突く攻撃や、外部への情報の持ち出し、本番のメール配信は再現していません。

カバー写真:内閣広報室による高市首相の公式肖像(CC BY 4.0)、Yuri SamoilovのPHPコード写真(CC BY 2.0)。切り抜き・合成・文字追加。

avatar-m-1

Backend Engineer / AWS / Django / Go