メインコンテンツに移動

PHPの緊急脆弱性で何をすればいい?修正版公開後の対応手順

PHPの緊急脆弱性で何をすればいい?修正版公開後の対応手順

2026年10月21日(日本時間)、PHPに重大な脆弱性2件(CVE-2026-109618、CVE-2026-109619)が見つかり、緊急のセキュリティ修正版が公開されました。ログインしていない外部の誰かが、サーバーの上でプログラムを動かせてしまう恐れのある深刻な内容で、PHPの開発チームは修正版への速やかな更新を強く呼びかけています。

まずやることは、サイトで実際に動いているPHPのバージョンを調べ、修正版が入っているかを確かめることです。共用のレンタルサーバーなら、PHP本体の更新はサーバー会社が行うため、利用者がやることは「修正版が入ったか」の確認が中心になります。

ただし、脆弱性が公表されたことと、個々のサイトが実際に攻撃されたことは別の話です。慌てずに、自分の環境を確かめることから始めましょう。

この記事では、修正版が公開されたあとにサイト運営者が取るべき対応を、修正版の確認、PHPのバージョンの確認、アップデート、動作の検証、緊急時のアクセス遮断まで順番に解説します。当社が実際に行った対応の記録も合わせて紹介します。

※ 2026年10月23日時点の情報です。新しい情報が出た場合は追記します。

この記事の要点

  • 修正版は8.5.12・8.4.27・8.3.36・8.2.35。8.1以前には、公式の修正版(リリース)がない
  • まず、サイトで実際に動いているPHPのバージョンを確認する
  • 共用のレンタルサーバーでは、PHP本体の更新はサーバー会社が行う。利用者は「入ったか」の確認と、古い版からの切り替えを行う
  • 番号が変わらなくても、サーバー会社の独自の修正で直っている場合がある。お知らせとビルド日で確かめる
  • 修正が入らない・不安な兆候があるときは、一時的にアクセスを遮断する選択肢もある

ご自分の環境に合わせて読む

あなたの環境読むところ
共用のレンタルサーバー(エックスサーバーなど)「手順2」「手順3」で、修正版が入ったかを確認。8.1以前なら「手順4」で切り替え
VPS・クラウドを自分で管理している「手順2」「手順3」のあと、「VPS・クラウドでのパッチの当て方」へ
制作会社・保守会社に任せている「手順4」の表の、問い合わせる内容を確認
修正がまだ入らない・不安な兆候がある「すぐに更新できない場合」と「緊急時:一時的にアクセスを遮断する」へ

 

対応の全体の流れ

対応は、次の6つの手順で進めます。下の図は、その流れを示したものです。図をクリックすると、その場で動画で確認できます。

公式情報の確認から不審な変更の点検まで、PHPの脆弱性への対応の6つの手順を示す図

 

手順1:公式の情報を確認する

最初に、正しい情報源を押さえます。

  • PHP公式サイト(php.net)のセキュリティのお知らせ:対象のバージョンと、修正版の番号
  • 利用しているサーバー会社のお知らせ:修正版の適用状況と、利用者がやるべきこと
  • 国内の公的機関(IPA・JPCERT/CC)の注意喚起

SNSでは、未確認の対策や攻撃を試すためのコードが出回ることがあります。出どころの分からない対策をそのまま試したり、攻撃用のコードを動かしたりしないでください。試した人のパソコンを乗っ取る偽物が混ざっていることもあります。

 

手順2:サイトのPHPのバージョンを確認する

まず、自分のサイトがPHPを使っているかを確かめます。WordPressやDrupalなどのCMS、PHPで作られたお問い合わせフォームや管理システムは、PHPで動いています。会社案内が静的なHTMLでも、同じサーバーでフォームや別のシステムを動かしていれば、それらは対象です。サイトの一部だけを見て判断せず、公開しているもの全体を確認しましょう。

次に、自分のサイトで実際に動いているPHPのバージョンを調べます。確認する方法は、主に次のとおりです。

方法確認する場所注意点
サーバーの管理画面「PHPのバージョン設定」などの画面ドメインごとに違う版を使っていることがある。すべてのドメインを確認する
WordPressの管理画面「ツール」→「サイトヘルス」→「情報」→「サーバー」WordPressが動いているサイトだけ確認できる
確認用のファイルバージョンだけを表示する小さなPHPファイルを置いて開く確認したらすぐに削除する。phpinfo() の画面を置きっぱなしにすると、サーバーの情報が外に漏れる

なお、SSHで php -v を実行して表示されるのは「コマンド用のPHP」で、サイトで動いているPHPとは版が違うことがあります。サイトのバージョンは、サイトの中で確かめるのが確実です。

 

手順3:修正版になっているかを判定する

調べたバージョンを、修正版の番号と照らし合わせます。

PHPの系統ごとの修正版の番号と、番号とビルド日で修正済みかを判定する方法を示す表

ここで注意したいのが、番号だけで判断しないことです。サーバー会社によっては、公式の修正版ではなく独自の修正を当てることがあり、その場合は番号が古いままでも直っています。逆に、番号が新しくても、お知らせで「適用中」となっていれば、まだ一部のサーバーには入っていない可能性があります。

8.1以前は、PHPの開発チームによる修正版(リリース)は出ていません。開発チームは8.1・8.0・7.4向けに修正のソースコードを公開していますが、これは自分でPHPを組み立てる(ビルドする)人向けのもので、一般的なサーバーの利用者がそのまま使えるものではありません。Linuxの配布元や長期サポートを提供する事業者が、独自に修正を当てている場合もあります。8.1以前を使っている場合は、番号だけで判断せず、環境の提供元に修正の有無を確認してください。基本は、サポート中の版への切り替えです。

確かめるときは、PHPのビルド日(PHPが作り直された日時)も見ておくと確実です。ビルド日は、phpinfo() の「Build Date」に表示されます。

 

手順4:アップデート・切り替えを行う

やることは、サーバーの種類によって変わります。

サーバーの種類PHP本体の更新利用者がやること
共用のレンタルサーバーサーバー会社が行う修正版が入ったかの確認。8.1以前を使っている場合は、管理画面からサポート中の版(8.3・8.4など)に切り替える
VPS・専用サーバー・クラウド利用者が自分で行うOSのパッケージやPHPを修正版に更新し、PHPを動かしている仕組み(PHP-FPMやWebサーバー)を再起動する
制作会社・保守会社に任せている契約による「修正版の適用を確認したか」「8.1以前のサイトはないか」を問い合わせる

8.1以前から切り替える場合は、古いプラグインやテーマが新しいPHPで動かないことがあります。切り替えの前に、必ずバックアップを取り、今のバージョンと、戻す手順を確認しておきましょう。ただし、今回のように緊急性が高い場合は、準備に時間をかけすぎること自体がリスクになります。必要な準備を手早く済ませ、更新を先延ばしにしないことが大切です。バックアップの考え方は「PHPの緊急脆弱性に備える|サイト運営者が今すぐ確認したいこととバックアップ対策」で詳しく解説しています。

 

VPS・クラウドでのパッチの当て方

VPSやクラウドのサーバーを自分で管理している場合は、PHPの修正版(パッチ)を自分で当てる必要があります。基本の流れは、修正版を入れる → PHPを動かしている仕組みを再起動する → サイト側で確かめるの3つです。

環境修正版を入れる再起動する
Ubuntu・Debiansudo apt update のあと sudo apt install --only-upgrade 'php8.3*'(8.3の場合)sudo systemctl restart php8.3-fpm(Apacheに組み込んでいる場合は apache2)
AlmaLinux・Rocky Linux・RHELsudo dnf update 'php*'sudo systemctl restart php-fpm(Apacheに組み込んでいる場合は httpd)
Docker修正版を含むイメージを取得し、作り直すコンテナを作り直して起動する

パッチを当てるときの注意点は次のとおりです。

  • 再起動を忘れない:修正版を入れても、PHPを動かしている仕組み(PHP-FPMやWebサーバー)を再起動するまでは、古いPHPが動き続けます。
  • 番号が変わらないことがある:Linuxの配布元は、バージョン番号を変えずに修正だけを取り込むことがあります。番号だけで判断せず、配布元のセキュリティ情報で、今回の脆弱性(CVE-2026-109618・CVE-2026-109619)が修正済みかを確認してください。
  • サイト側で確かめる:php -v はコマンド用のPHPで、サイトで動いているPHPとは違うことがあります。手順2・3の方法で、サイト側のバージョンとビルド日を確かめましょう。
  • 先にバックアップ:更新の前に、ファイルとデータベースのバックアップを取っておきます。

 

手順5:動作を確認する

修正版が入ったあと、またはバージョンを切り替えたあとは、サイトが正しく動くかを確かめます。

  • トップページと主なページが、崩れずに表示されるか
  • お問い合わせフォームから送信でき、メールが届くか
  • 管理画面にログインでき、記事の保存や画像のアップロードができるか
  • 予約投稿や定期的な処理(cron)が動いているか
  • サーバーのエラーログに、新しいエラーが増えていないか
  • キャッシュを使っている場合は、キャッシュを消してから確認したか

 

手順6:不審な変更がないかを点検する

修正版が入る前に攻撃を受けていた場合、修正版を当てても、すでに置かれた不正なファイルは残ります。修正版の確認がとれたら、次の点を点検しましょう。

  • 画像などのアップロード用フォルダの中に、PHPファイルがないか(本来、ここにPHPファイルがあることはほとんどない)
  • 脆弱性の公表以降に、心当たりのないPHPファイルや .htaccess が変更されていないか
  • 管理画面に、見覚えのない管理者アカウントが増えていないか
  • Search Consoleの「セキュリティの問題」に、警告が出ていないか

このとき見落としやすいのが、公開フォルダの外に本体を置いているサイトです。リンク(シンボリックリンク)で別の場所を参照している場合、ふつうの探し方ではその中を調べられないことがあります。当社でも、点検の途中でこの漏れに気づき、リンクの先まで含めて点検し直しました。

なお、点検で目立った異常が見つからなくても、それだけで「侵入されていない」と断定はできません。修正版の公開前に外から見える状態だった期間がある場合は、管理画面やサーバーのパスワードの変更も検討しましょう。

不審な点が見つかった場合は、ファイルを削除する前に、まず専門家に相談してください。慌てて消すと、侵入の原因や範囲が分からなくなることがあります。

 

すぐに更新できない場合

修正版をすぐに当てられない事情がある場合も、放置はせず、理由に合わせて動きます。

更新できない理由取る対応
サーバー会社の修正版の適用が終わっていないお知らせで進み具合を確認し、必要ならサポートに問い合わせる。終わるまでは、下の「一時的な遮断」も検討する
古いシステムが新しいPHPで動かない動かない部分を特定し、改修か入れ替えを急ぐ。その間は、そのシステムだけでも外から使えないようにする
更新作業ができる人がいない制作会社・保守会社・サーバー会社に、すぐに相談する
サーバーの管理画面に入れない障害やメンテナンスのお知らせを確認する。SSHが使える契約なら状況の確認はできるが、PHPの設定を変えられるとは限らない

大切なのは、「操作できないから何もしない」ではなく、使える手段で状況を把握し、できる対策を進めることです。

 

緊急時:一時的にアクセスを遮断する

次のような場合は、修正が入るまで、サイトへのアクセスを一時的に遮断することも検討します。

  • サーバー会社の修正版の適用が、まだ終わっていない
  • 8.1以前で、すぐにはサポート中の版へ切り替えられない
  • 不審なファイルや、見覚えのない変更が見つかった

今回の脆弱性は、ログインの必要がない種類です。そのため、管理画面だけを閉じても防げません。遮断するなら、PHPが動く前の段階で、アクセスそのものを止める必要があります。

下の図は、その仕組みを示したものです。図をクリックすると、その場で動画で確認できます。

PHPが動く前の .htaccess で、すべてのアクセスを静的なメンテナンス中のページに振り分ける仕組みの図

Apacheを使っているレンタルサーバーでは、対象のフォルダの .htaccess の先頭に、次のような設定を加え、同じ場所に maintenance.html(メンテナンス中のページ)を置く方法があります。

# メンテナンス表示(ここから) ErrorDocument 503 /maintenance.html <IfModule mod_headers.c>  Header always set Retry-After "86400" </IfModule> <IfModule mod_rewrite.c>  RewriteEngine On  RewriteCond %{REQUEST_URI} !^/maintenance\.html$  RewriteRule ^ - [R=503,L] </IfModule> # メンテナンス表示(ここまで)

設定するときは、次の点に注意してください。

  • 変更する前に、元の .htaccess を必ず退避する。解除は、退避したものに戻すだけで済む
  • 設定後、ページが「メンテナンス中」になり、500エラーになっていないことを確かめる
  • 遮断中は、自分も管理画面に入れない
  • サブフォルダ(例:/blog/)で使う場合は、パスをそのフォルダに合わせる
  • 長期間の遮断は、検索順位に影響する。修正の確認と点検が済んだら、早めに解除する

そして、遮断には限界があることも知っておいてください。

  • 止まるのは、設定したフォルダの下だけです。同じサーバーにあるお問い合わせフォームや別のシステムなど、ほかのPHPは外から呼べるままの場合があります。止めるなら、PHPが動いている場所をすべて洗い出す必要があります。
  • 今回の脆弱性には、設定の変更で完全に防ぐ方法はなく、修正版への更新が唯一の確実な対策とされています。遮断は修正の代わりではなく、修正が入るまでの危険を下げるための一時的な手段です。

当社でも、今回はWordPressの2つのブログを止めましたが、同じサーバーのほかのPHPは動いたままでした。止める範囲と止めない範囲の危険をどう考えるかを、意識して判断することが大切です。

サーバーの設定に慣れていない場合は、無理をせず、サーバー会社や制作会社に相談しましょう。

 

当社の対応の記録

参考として、当社が今回行った対応を紹介します(安全のため、サーバーの名前や具体的な構成は省略しています)。

時期行ったこと
修正版の公開前すべてのドメインのPHPのバージョンを確認。いずれもサポート中の版で、サーバー会社の修正版の適用を待つ状態と判断。バックアップの範囲を見直し、漏れていた分を臨時で取得してパソコンにも保存
修正版の公開前後WordPressで運用している2つのブログを、念のためメンテナンス表示(503)に切り替え
翌朝サーバー会社から修正パッチの適用完了のお知らせ。全ドメインで、修正済みの版とビルド日を確認
確認後不審なファイルがないかを点検(リンクの先も含めて)。問題がないことを確かめて、メンテナンス表示を解除

振り返ると、「修正版が入ったかを番号とビルド日で確かめる」「点検の範囲に漏れがないかを疑う」の2つが、特に大切だったと感じています。

 

次の緊急アップデートに備える

今回のような緊急の脆弱性は、PHPだけでなく、OS・Webサーバー・CMS・プラグインでも起こります。ふだんから次のことを整えておくと、慌てずに動けます。

  • 使っているシステムと、そのバージョンの一覧を作っておく(サイトごと・ドメインごと)
  • サーバー会社やCMSのセキュリティ情報を、すぐに確認できるようにしておく
  • バックアップと、戻す手順を整え、一度は戻す練習をしておく
  • 更新後に確認するページや機能を、チェックリストにしておく
  • 緊急時の連絡先と、誰が判断するかを決めておく

脆弱性が公表されてから構成を調べ始めるのではなく、平常時から把握しておくことが、いちばんの備えです。

 

よくある質問

Q. 共用のレンタルサーバーで、PHP 8.3を使っていれば何もしなくていいですか?

PHP本体の更新はサーバー会社が行うので、自分でアップデートする必要はありません。ただし、8.3も修正版が入るまでは対象です。「修正版が入ったか」の確認と、不審な変更がないかの点検は行いましょう。

Q. WordPressを最新に更新すれば、この脆弱性は直りますか?

いいえ。今回の脆弱性はWordPressではなく、その下で動いているPHP本体の問題です。WordPressの更新では直らず、PHPを修正版にする必要があります。

Q. 二段階認証を入れていれば大丈夫ですか?

今回の脆弱性は、ログインしていない外部からの攻撃につながる可能性があるとされています。二段階認証はとても大切な対策ですが、この脆弱性そのものは防げません。修正版の適用が対策です。

Q. 静的HTMLのサイトなら、今回の脆弱性は関係ありませんか?

PHPを動かさずにHTMLファイルを配信するだけの構成なら、その配信は通常、PHP本体の脆弱性の影響を受けません。ただし、同じサーバーでPHPのお問い合わせフォームや管理システムを動かしている場合は、そちらの確認が必要です。

Q. PHPを更新すると、サイトが壊れることはありますか?

あります。古いプラグインや独自のプログラムが新しいPHPに対応していないと、エラーや表示の崩れが起きることがあります。バックアップと戻す手順を用意したうえで、更新は先延ばしにせず進めましょう。なお、同じ系統の中での修正版(例:8.3.35から8.3.36)は、系統を変える切り替えに比べて影響が小さいのが一般的です。

Q. phpinfo() のページで確認してもいいですか?

確認すること自体は問題ありませんが、確認したらすぐに削除してください。phpinfo() の画面には、サーバーの設定や構成など、攻撃の手がかりになる情報が多く含まれます。

 

まとめ:「入ったか」を確かめ、「漏れがないか」を疑う

  • まず、公式の情報とサイトで実際に動いているPHPのバージョンを確認する
  • 修正版の番号と照らし合わせ、番号とビルド日で修正が入ったかを確かめる
  • 8.1以前はサポート中の版へ切り替え、VPSなどは自分で更新する
  • 更新後は動作の確認と不審な変更の点検まで行う
  • 修正が入らない・不安な兆候があるときは、一時的にアクセスを遮断する。ただし遮断は修正の代わりではない

金風株式会社では、ホームページのセキュリティ診断の中で、PHPのバージョンや修正の適用状況、不審なファイルの有無、バックアップの状態まで確認しています。「自分のサイトが大丈夫か分からない」という方は、お気軽にご相談ください。

 

あわせて読みたい

 

参考資料

最新のお役立ち情報はメルマガでもお届けしています