PHPの重大脆弱性:
「PHPパッチを当てたから安心」はまだ半分。
対応後に必ずやるべき「事後対応」チェックリスト

PHPの重大脆弱性:<br>「PHPパッチを当てたから安心」はまだ半分。<br class="pconly">対応後に必ずやるべき「事後対応」チェックリスト
――パッチ適用は「ゴール」ではなく「中間点」。その後にこそ本番がある―― パッチ適用は「ゴール」ではなく
「中間点」。その後にこそ本番がある

「PHPパッチを当てたから安心」はまだ半分。
php2shell対応後に
必ずやるべき
「事後対応」
チェックリスト
【レンタルサーバー利用者向けの対応も解説】

対象:レンタルサーバー利用者を含むWebサイト運用担当者・情報システム担当者・経営層 テーマ:php2shell事後対応(CVE-2026-109618 / CVE-2026-109619) / 侵害調査 / レンタルサーバー利用者と自前サーバー(VPS・クラウド)の対応の違い / WAFの正しい位置づけ / 派生の別件CVE-2026-115560 / WordPress保守 目的:PHPの緊急パッチ適用後に必要な「残作業」を、レンタルサーバー・自前サーバーの両方の立場で整理し、継続的な安全運用につなげる 情報時点:2026年11月9日(PHP公式サイト・各社公表情報の確認日)

前回の記事では、2026年10月21日に緊急リリースされたPHPの重大脆弱性「php2shell」(CVE-2026-109618 / CVE-2026-109619)をめぐり、「PHPだけ直してWordPressを放置する」ことの危険性について警鐘を鳴らしました。
PHPを更新した後も、「これで対応が完了したのか」を確認する作業が必要です。

結論から言います。PHPのパッチ適用は、セキュリティ対応の「ゴール」ではなく「中間点」です。その後にこそ、本当に重要な作業が待っています。

更新後の対応を考える際、環境は大きく「自前サーバー(VPS・専用サーバー・クラウド)で運用している場合」と「共用レンタルサーバーを利用している場合」の2つに分かれます。同じ「パッチ適用後」でも、できること・できないことが異なり、確認すべき作業も変わるのです。たとえば共用レンタルサーバーでは、PHPのインストールやサービスの再起動・プロセス管理は、通常、ホスト(事業者)側の領域です。

「プロの手順」として紹介される手順には、レンタルサーバーでは利用者が実行できない工程が含まれます。

本記事では、パッケージを当てただけでは防御が完了していない技術的な理由、そもそも侵害されていなかったかを確認する「事後調査」、CMS側に残る宿題を、自前サーバーとレンタルサーバーの両方の読者の目線で解説します。レンタルサーバー利用者の方は、特に「2. の各ステップの【レンタルサーバーの場合】」と「3. 環境別ガイド」をお読みください。

1. なぜ「パッチ適用後」が最も重要なのか:実攻撃は今も続いている

php2shell攻撃と対応のタイムライン:10月17日に攻撃試行を観測(Amazon)、10月21日に公表・緊急修正リリース(8.5.12 / 8.4.27 / 8.3.36 / 8.2.35)、10月23日に新たな経路の公表(CVE-2026-115560)、10月26日にCISAのKEV登録、10月29日にPAN-OS管理画面への実攻撃確認
図:php2shellをめぐる攻撃と対応のタイムライン。攻撃試行は公表前の10月17日から観測されているため、侵害調査の起点は「公表日」ではなく「少なくとも10月17日」に設定する。

まず、なぜ「パッチを当てた後」まで目を光らせる必要があるのか。その理由は、攻撃の現実にあります。この点は、レンタルサーバー利用か自前サーバー運用かを問わず共通です。

パッチ適用後も続く、php2shellをめぐる攻撃の現実
(2026年10月〜11月上旬)

・開示前から攻撃は始まっていた。
Amazonの脅威インテリジェンスは、公表の4日前にあたる10月17日、観測網(ハニーポット)に対するphp2shellの悪用試行を確認し、調査の起点を「公表日の10月21日」ではなく「少なくとも10月17日」とするよう推奨しています(観測した試行が実環境で成功し得たかは不明とされています)。10月21日以降も複数の攻撃者の痕跡が観測されており、「野外で広範な悪用試行が見られている」と報告されています。

・PoC(概念実証コード)が公開され、実際の成功事例も出ている。
10月24日、研究者のAdel Karimi氏が、パッチ適用前のPHP 8.4.26(シングルワーカーのApache mod_php、memory_limit 128MiB)で稼働するハニーポット3台で、35件のシェル起動を確認したと報告しています(報告書)。通信内容は公開されているPoCの系統とよく一致していたとされ、報告はCVE-2026-109618に対応する手口としています。なお、これは修正版(8.4.27以降)が破られたという報告ではなく、あくまでハニーポット(おとりサーバー)での観測です。

・「PHPサイト以外」への波及も始まった。
10月29日、Palo Alto Networksは、インターネットに公開されたPAN-OS(ファイアウォール)の管理インターフェースに対するphp2shellの実攻撃を確認したと発表。さらに研究者は、php2shellの悪用をLinuxカーネルの権限昇格脆弱性(CVE-2026-46300)と連鎖させてroot権限を奪取する攻撃を観測しています。米CISAは、PHPの2件のCVE(CVE-2026-109618 / CVE-2026-109619)を10月26日に、カーネル側のCVE-2026-46300を10月28日に、それぞれ「実際に悪用が確認された脆弱性カタログ(KEV)」へ登録済みです。

一方で冷静に見るべき事実もあります。Sophosの分析によれば、今回確認されたPAN-OSへの攻撃は「標的型」であり、他のプラットフォームへの広範な悪用能力が開発されたことを示すものではないとされます。ただし、これは「自分は大丈夫」を意味しません。実攻撃の報告を踏まえ、事後対応を進める必要があります。

パッチは「これ以降の侵入」を防ぐ扉ですが、「これまでの侵入」を消してくれるわけではありません。開示前の10月17日から攻撃試行が観測されていた以上、「自分のサイトは大丈夫だったか?」を確認する作業は、パッチ適用と同じくらい重要なのです。

2. 【鉄則】PHPを更新したら「すぐにやるべき」5つの事後対応(自前サーバー/レンタルサーバー別注記つき)

「PHPのパッケージ更新が完了した」
――この時点で、プロは決して作業を終えません。以下の5つの項目を確認します。侵害が疑われる場合の証拠保全は、再起動やファイル削除の前に判断してください。
なお、各ステップには【レンタルサーバーの場合】として、共用レンタルサーバー利用者が自分の環境で確認すべき行動を併記しています。環境ごとの違いを先に整理したい方は、「3. 環境別ガイド」もあわせてご覧ください。

① 怪しい兆候のあるサーバーは、「再起動の前に」証拠を保全する

スキャンや不審なリクエストの痕跡があるサーバーでは、再起動する前にPHPワーカーのメモリを保全することが推奨されています。なぜなら、再起動はメモリ上の証拠を消してしまうからです。メモリ上に残った攻撃の痕跡は、侵害の有無を判定する重要な手がかりになります。調査対象では、「とりあえず再起動してリセット」とする前に、証拠保全の要否を判断します。

【レンタルサーバーの場合】
共用サーバーでは、PHPワーカーのメモリの保全は、通常、ホスト側の領域です。一方、管理画面から取得できるログや、自分の管理領域にあるファイルは保存できます。そこで現実的な行動は、
兆候を発見したら、自己判断でPHPバージョンの切替・再切替などを重ねず、取得できるログ・ファイルを保存し、速やかにホストのサポートへ「生ログの提供」「調査・対応」を相談する
ことです。ホスト側にしか見えない情報(サーバー全体のエラーログ、ワーカーの状態、他テナントとの共通経路の有無等)は、提供や調査の可否を問い合わせてください。連絡前に、手元で確認した日時・ログ・兆候をまとめておくと調査が早く進みます。
② パッケージ更新=完了ではない。「稼働中プロセスへの反映」を確認する

ここが最も見落とされがちな落とし穴です。OSのパッケージマネージャでPHPを更新しても、稼働中プロセスの入れ替えが行われていなければ、古い(脆弱な)コードがメモリ上に残ります。PHP-FPMやApache(mod_php)では、更新時に自動で再起動されるかも含め、修正の反映を確認する必要があります。Googleのインシデント対応ガイダンス(Mandiantの知見を含む)も、この点を明確に指摘しています。
PHPを更新したら、PHP-FPM・Apache・LiteSpeed・キューワーカーなど、PHPを読み込むプロセスへの修正の反映を確認し、必要な再起動と実際に稼働中のバージョン(8.4.27等)の確認を行って「適用完了」としてください。
確認は、シェルの php -v(CLI)だけでなく、Webサーバー経由で配信されるphpinfo等(実際にリクエストを処理するPHP)でも行います。CLIとFPM・mod_phpは別のバイナリ・別の設定のことがあり、CLIだけ「修正済み」と表示されても、サイト側は未適用ということが起こりえます。phpinfoを使う場合はアクセスを制限し、確認後にファイルを削除してください。自分でイメージを管理するコンテナ環境では、修正済みPHPを含むイメージへの再ビルド・再デプロイなどが必要です。

【レンタルサーバーの場合】
PHPのサービス再起動は、共用レンタルサーバーでは通常、利用者が操作できません。その代わり、PHPのインストール・プロセス管理はホスト(事業者)側の領域であり、今回のような重大脆弱性ではホスト側で緊急メンテナンスとして対応が進んでいます(後述「3. 環境別ガイド」参照)。利用者の確認作業は次の2点です。
(1)ホストのお知らせ(公式サイト・管理画面内の告知)で、自分のサービス・PHP系列に対する緊急対応が完了したかを確認する。
(2)管理画面のPHPバージョン表示や、phpinfoが使える環境ではphpinfoで、自サイトが実際に動かしているバージョンを確認し、ホストの対応情報と照合する。

たとえばエックスサーバーでは、サーバーパネルの「PHP Ver.切替」画面にドメインごとの現在のPHPバージョンが表示され、切替もそこから行えます(公式マニュアル)。ただし、同社はPHP 5.1〜8.1にはバージョン番号を変えずに修正パッチを適用したと案内しています。古い番号の表示だけで未修正と判断せず、自ドメインの状態とホストの告知を照合してください。
③ 侵害調査の起点は「公表日」ではなく「少なくとも10月17日」に設定する

前述の通り、攻撃試行は公表の4日前から観測されています。調査・ログ確認は「少なくとも10月17日までさかのぼる」ことが推奨されています。10月21日以降だけ見て「異常なし」と結論づけるのは、入り口で調査範囲を狭めてしまう典型的なミスです。あわせて、10月17日以降のログが実際に保存されているかを最初に確認してください。保存期間が短く、すでにログが消えている期間がある場合は、「調査できない期間がある」こと自体を記録し、その期間は侵害の可能性を否定できないものとして扱います。

【レンタルサーバーの場合】
調査範囲の設定は同じですが、前提が1つ増えます。「手元に残せるログの種類と期間がホストの仕様で決まっている」ということです。管理画面のアクセスログ機能では、日付ごとの確認やダウンロードなどができますが(たとえばエックスサーバーの「アクセスログ」公式マニュアル)、生ログ(rawログ)のダウンロード可否や保存期間はホスト・プランごとに異なります。まず「自分の環境で、いつからいつまでの何のログが見られるのか」を確定させるのが最初の作業です。見られない期間があれば、それを「調査できない期間」として記録する点は、自前サーバーと同じです。
④ ログとWebサイトの「痕跡」を確認する

対応期間中(少なくとも10月17日以降)のWebサーバーのアクセスログ・エラーログを確認し、通常とは異なる長大なクエリ文字列、深夜帯の大量アクセス、存在しないパスへの連続リクエストなどがないかを確認します。マルチパートのPOSTの直後にメモリ上限エラー(allowed memory size)や500エラー、PHPワーカーの異常終了・不審な再起動が続いていないか、記録されている場合には異常に大きなセッションID(PHPSESSID)のCookieがレスポンスに含まれていないかも、研究者が挙げている手がかりです。レスポンスのCookieは、通常のアクセスログで確認できるとは限りません。加えて、サイト上に見覚えのないファイル(特にPHPファイル)が増えていないか、事前にWordPressの認証ログを記録・保存していた場合は、知らないログイン成功記録がないかを確認します。侵入後によく設置されるのが「Webシェル」と呼ばれる遠隔操作用ファイルで、これはサイト上の静的解析・ファイル比較で検出を試みます。不審なアクセスの存在だけで侵害成功と断定せず、確認した範囲に痕跡がないことだけで侵害を完全に否定しないようにしてください。

【レンタルサーバーの場合】
「サイト上のファイル」はFTP(SFTP)・ファイルマネージャーで確認でき、共用サーバーでも実施できます。「WordPressの認証ログ」は、記録する仕組みが事前に導入され、保存されている場合に確認します。一方、エラーログや生ログの閲覧はホスト依存です。管理画面のアクセスログ機能(たとえばロリポップ!では「サーバーの管理・設定」メニューの「アクセスログ」公式マニュアル)で見られる範囲をまず確認し、管理画面で取得できないエラーログや生ログが必要な場合は、ホストに提供可否を問い合わせてください。保存期間や提供できる範囲はホストによるため、依頼は早いほど良いです。
⑤ パスワード・認証情報のローテーション(回転)

php2shellには、PHPワーカーのメモリ内容が外部に漏れうるという指摘があります(研究者の分析では、レスポンスのCookieヘッダに数十KB規模のメモリ内容が含まれる手口が報告されています)。ワーカーのメモリには他のリクエストの認証情報が載っていた可能性があるため、修正前に外部公開されていたサーバーでは、「メモリ上に認証情報が存在し、読み取られた可能性」を否定できません。その可能性を踏まえ、WordPress管理者・DBユーザー・SFTP・サーバー管理画面のパスワードや、APIキー・シークレットキー・セッション署名鍵類の更新(ローテーション)を進めてください。侵害が確認された場合は、必要なアクセス制限や認証情報の失効を行い、不正なファイルなどへの対応後にも認証情報を更新します。また、構成によってはワーカーのメモリにTLS証明書の秘密鍵が載っていた可能性も指摘されています(Sysdig)。PHPから秘密鍵にアクセスできたかなどを確認し、漏えいが疑われる場合は、証明書の再発行(鍵の更新)や失効を検討してください。

【レンタルサーバーの場合】
上記に加えて、ホストの管理画面(サーバーパネル・コントロールパネル)のログインパスワードと、FTP(SFTP)の認証情報も確認対象に含めてください。これらすべてがphp2shellで漏えいしたと断定するものではありませんが、使い回しや不審な利用の有無も確認します。DBユーザーのパスワード変更は、ホストが案内する管理画面や手順に従って行います。変更後は、wp-config.php等の設定ファイルの書き換え忘れに注意してください。
PHP更新後の事後対応5ステップ
図:PHP更新前後に確認する事後対応。侵害が疑われる場合の証拠保全は再起動前に判断し、稼働中プロセスへの修正の反映とバージョンを確認します(自前サーバーの場合)。レンタルサーバー利用の場合は、PHPプロセスの管理やメモリの保全はホスト側の領域です。利用者は「ホストのお知らせ確認→管理画面でのバージョン・ログ確認→認証情報の更新」を進めます。緊急時の緩和設定(session.upload_progress.enabled=0 等)はあくまでつなぎです。

なお、まだPHPを更新できない公開システムがある場合は、この5ステップの前段として、CISA・CERT-EU・Sophosなどが挙げる暫定策『インターネットからの公開を止める、またはZTNA等のネットワーク層認証の内側に置く』を検討してください。レンタルサーバーの場合は、この判断もホストと相談になります(共用サーバーでは、サイト単位のアクセス制限機能で可能な範囲を確認するか、ホスト側の案内に従ってください)。

3. 環境別ガイド:レンタルサーバーと自前サーバー(VPS・クラウド)で、ここが違う

5つのステップの「目的」は環境に関係なく共通ですが、「誰が何を操作できるか」が異なります。まずは、ご自身の環境がどちらに当てはまるかを正しく認識してください。

自前サーバー(VPS・専用サーバー・クラウド)で運用している場合
OSやPHPを自分で管理している場合は、OSのパッケージ更新、サービスの再起動、メモリの保全、生ログの確認などを、管理権限の範囲で実施します。そのぶん、「再起動し忘れ」「ログ保存期間の設定漏れ」「CLIとWeb側のバージョン不一致」などの落とし穴にも、自分たちで対応する必要があります。STEP 1〜5の本文を参考に確認してください。事業者が管理を代行する契約では、その担当範囲を確認します。
共用レンタルサーバーを利用している場合
PHPのインストール、プロセスの管理、PHPワーカーのメモリの保全は、通常、ホスト(事業者)側の領域です。その代わり、今回のような重大脆弱性では、さくらインターネットやエックスサーバー、GMOペパボなど主要ホストが緊急メンテナンスに入るなど(ITmediaのまとめ)、ホスト側で対応が進んでいることが多いのが実情です。利用者の担当範囲は、
①ホストのお知らせで対応状況を確認する → ②管理画面・phpinfoで自サイトのPHPバージョンを確認する → ③暫定設定が必要か、有効な設定方法があるかをホストの案内で確認する → ④管理画面のアクセスログとWordPress・サイト内の痕跡を確認する → ⑤管理画面・FTP・DB・WordPress等の認証情報を更新する
の5点に整理できます。利用者が直接PHPプロセスを再起動する必要はありませんが、ホストに任せきりにせず、対応の対象と完了状況を確認することが大切です。
主要ホストの管理画面で確認・操作できること(各社公式マニュアルの記載に基づく)

PHPバージョンの確認・切替やphp.iniの変更、ログ確認が、どこまで管理画面からできるかはホストごとに異なります。代表例を公式マニュアルベースで挙げます。

  • エックスサーバー:サーバーパネルの「PHP Ver.切替」でドメインごとの現在のバージョン確認と切替が可能。「php.ini設定」でパネル上から設定を変更でき、「アクセスログ」を確認・ダウンロードできます。設定できる項目と適用方法は、利用環境に応じて確認してください。
  • さくらのレンタルサーバ:サーバーコントロールパネルの「言語のバージョン設定」でPHPバージョンを変更できます。サーバー全体のphp.iniは直接編集できず、「php.ini設定」から変更します。管理者権限が必要な一部の項目は変更できません。
  • ロリポップ!:ユーザー専用ページの「PHP設定」で、ドメイン別のPHPバージョン確認・変更が可能です。同マニュアルのphp.ini変更手順はCGI版が対象で、モジュール版・LiteSpeed版では変更できないと案内されています。
  • ConoHa WING:コントロールパネルからPHPバージョンの変更とphp.iniの編集が可能です。設定の対象や適用方法は、マニュアルと利用環境を照合してください。

「ホストが対応済みか」は、必ず各社のお知らせ(公式サイト・管理画面内の告知)で確認してください。たとえばエックスサーバーは、PHPの脆弱性への対応について公式の案内ページを用意しています。同ページはCVE-2026-109618 / CVE-2026-109619の2件を対象とし、10月23日に追加告知された脆弱性は対象外と明記されています。見た目は動いているから大丈夫、ではなく、「対応の事実」と「自サイトが対象に含まれるか」の両方を確認してください。ホスト側で修正の反映まで完了したと案内されている場合、利用者がすべきなのは、自己判断での再適用ではなく確認(適用状態やログの確認)です。

レンタルサーバー利用者が「ホストに依頼すべきこと」リスト

管理画面や公開情報で確認できない場合は、次の事項をホストに問い合わせます。兆候がある場合ほど早めに相談してください。

  • 生ログ(rawログ)・エラーログの提供:管理画面で取得できるものを保存し、より詳細なログが必要な場合は提供可否を確認する。対象期間は少なくとも10月17日までさかのぼり、保存・提供できる期間を確認する。
  • 適用状況の確認:ホスト側のPHP緊急対応の完了状況と、対象バージョン(自プラン・自ドメインが含まれるか)。
  • php.iniで変更できない項目の相談:session.upload_progress.enabled=0 の設定が必要か、有効に反映できる方法があるかをホストに確認する(ホスト側で無効化済みの場合もあります)。
  • 兆候発見時の調査依頼:不審なリクエストの痕跡が見つかった場合、日時・ログ・兆候をまとめ、調査・対応の可否をサポートへ相談する(STEP 1のレンタルサーバー版)。

「レンタルサーバーだから何もしなくていい」ではありません。「自分で再起動しなくていい分、確認と依頼に取り組む」と捉えるのが、レンタルサーバー利用者の事後対応です。

4. WAFの正しい位置づけ:「つなぎ」であって「恒久対策」ではない

WAFの多層防御での位置づけ:第1層WAF(暫定の門番・つなぎ)、第2層設定変更(穴を小さくするだけ)、第3層PHP自体の更新(唯一の恒久対策・ここで初めて決着)、第4層CMS側の防御(玄関のドアを閉める)。攻撃者は未認証で第1層から迫る
図:WAFの正しい位置づけ。WAFも設定変更もPHP本体の修正に代わるものではなく、PHP公式・Cloudflare・SophosはPHP自体の更新を求めています。WAFは更新後も追加の防御として併用します。

今回の騒動では、CDN大手のCloudflareが公表の約9時間前にWAFルールを展開し、WAFを利用する無料・有料の顧客にデフォルトで保護を提供したことが話題になりました。これは素晴らしい動きですが、その位置づけを誤解してはいけません。

WAFでできること・できないこと
Cloudflare自身も、PHPのベンダー更新をできるだけ早く適用したうえで、WAF保護は「追加の防御」として有効にしておくことを推奨しており、WAFだけで完結させる想定ではありません。さらに、WAFルールが守れるのはCloudflare経由で通過するトラフィックだけです。WAFは「既知の攻撃パターンを弾く門番」であり、未知の経路やWAFを迂回する手法まで防ぐ保証はありません。
PHP公式も、設定変更(session.upload_progressの無効化など)について、「特定の攻撃経路への露出を減らすものであり、環境を安全にするものではない」(更新だけが完全な解決策)という趣旨を明記しています。同様にSophosも、即時にアップデートできない組織には「インターネット公開のPHPシステムを一時的にオフラインにする、またはZTNA等のネットワーク層認証の内側に置く」ことを暫定対策として挙げ、アップグレードが最善の防御だとしています。
正しい順番:「WAFで時間を稼ぎ、パッチで脆弱性を修正する」
WAFや設定変更は、「パッチ適用までの猶予時間を稼ぐ多層防御の1層」として使います。WAFは更新後も追加の防御として併用します。「WAFを入れたからPHPの更新は不要」という運用は、今回のような「コア言語レベルの脆弱性」に対する根本的な対処にはなりません。
レンタルサーバー利用の場合:WAFの有無や種類はホスト・プランによって異なります。ホスト標準のWAFやセキュリティ機能がある場合は「有効化されているか」を管理画面で確認し、PHP対応(ホスト側の適用と自サイトの適用状態の確認)の代替にはならない点は、本節の原則どおりです。前回の記事で述べた「多層防御」の原則を、今回は「多層防御の使い方」として正しく実践しましょう。

5. 落とし穴:パッチ適用後も続く「次の脆弱性」と「更新による副作用」

「最新版に上げたから万事OK」
残念ながら、今回の件はそう単純には終わりません。パッチ適用後に知っておくべき「残る課題」が2つあります。どちらも、レンタルサーバー利用者には「ホストの対応を追いかける」という形で関わる課題です。

落とし穴1:10月23日公表の「もう1件」
CVE-2026-115560

緊急修正版の公開から2日後の10月23日、PHPプロジェクトはセッションのアップロード進捗(session upload progress)機能に関する新たなRCEの経路を、情報提供アドバイザリとして公表しました(CVE-2026-115560)。

PHPはこれを「通常とは異なる設定とアプリケーションコードの組み合わせでのみ起こる、起こりにくい経路」としており、緊急リリースではなく通常のリリース周期で対応し、全文のアドバイザリは次回リリースで公開するとしています。PHPの情報提供告知には影響を受けるバージョンの一覧が掲載されていないため、10月21日の緊急修正版に更新したことだけで、この別件への対応まで完了したとは判断できません。公式の案内に沿って、該当条件と暫定策を確認してください。

2026年11月9日時点で、PHPによる全文のアドバイザリは未公開で、影響を受けるバージョンの一覧や深刻度(CVSS)も同告知には示されていません。また、このCVEの悪用の公的な報告は、私たちが確認した範囲では見当たりません。PHP公式の開発者向けフォーラムでは、PHP 8.5.13のリリース候補版(RC1)が11月5日に公開され、正式版は11月19日の予定と案内されています(php.netでは、同日にPHP 8.6.0の正式版も予定されています)。ただし、このCVEがどのリリースで修正されるかは、PHPから明言されていません。リリース時に、PHP公式の全文アドバイザリを必ず確認してください。

該当するのは、次の条件がすべて重なる場合です。

  • session.serialize_handler が設定で php_binary または php_serialize になっている
  • アプリケーションが ini_set() で php に切り替えてから session_start() を呼んでいる
  • session upload progress が有効(初期設定で有効)

PHP公式は、実行中にセッションのシリアライズハンドラーを変更しないアプリケーションでは、アップロード進捗機能を有効のままにできるとも説明しています。設定値だけでなく、アプリケーションの処理と併せて判断してください。

暫定策として、サーバー側のphp.ini・PHP-FPMのプール設定など、リクエストの解析前に反映される設定で session.upload_progress.enabled=0 を適用し、必要なPHPワーカーの再起動を行うことが推奨されています(これはCVE-2026-109619の緩和策としても挙げられていた設定です。すでに有効に適用済みなら、この設定を維持します)。なお、upload progressの処理はアプリケーションのコードより先に動きうるため、アプリ側の ini_set() や、FPMの .user.ini に頼る方法では、必要なタイミングに間に合いません。アップロード進捗バーをセッション経由で実装している場合は、無効化で進捗が取得できなくなる点も確認してください。

【レンタルサーバーの場合】
共用サーバーでは、管理画面に「php.ini設定」があることだけで、この暫定策が有効に適用できるとは判断できません。例えば、さくらのレンタルサーバでは、管理画面から変更できる設定の範囲が案内されています。設定項目と読み込みのタイミングは環境によって異なるため、ホスト側の対応状況と、利用者側で必要な設定・有効な反映方法を確認してください。事業者の案内がない状態で、.user.ini やWordPressのプラグインに設定しただけで対応完了としないでください。

つまり、「緊急パッチを当てた=今後何もしなくていい」ではなく、次のPHPリリースも追いかける必要があるのです。レンタルサーバー利用者であれば、「ホストがどの時点でどの脆弱性に対応するか」のお知らせを追い続けることが、同じ意味で必須の作業になります。

落とし穴2:更新による「副作用」
SimpleXML環境でのプロセスクラッシュ

さらに現場視点で重要なのがこちらです。PHP開発者は、新しくリリースされた8.4.27および8.5.12において、SimpleXML拡張を使う一部アプリケーションでPHPプロセスがクラッシュしうる回帰バグ(php-src issue #24488)を確認しました。原因はphp2shellの修正パッチではなく、同梱された別のガベージコレクタ修正とされています。

修正コードは10月22日にPHP 8.4ブランチへマージ済みですが、2026年11月9日時点で、修正を含む正式版はまだ公開されていません。緊急修正版でも、同梱する別の変更によって不具合が起きることがある実例です。だからこそ前回の記事で申し上げた通り、ステージング環境での検証と、適用後の主要機能の確認が大切です。緊急時は、検証中の公開リスクも考慮して対応を進めてください。なお、クラッシュが出ても未パッチ版へ戻すのは避け、配布元やホストと修正版・回避策を確認するのが原則です。また、Windows向けビルドについても10月26日、同梱ライブラリ(Brotli)の別脆弱性(CVE-2026-111497)を修正した再ビルド版(8.5.12-1など)が提供されています。この脆弱性にはcURL拡張で自動解凍が有効な場合に到達しうるため、Windows環境では適用した配布パッケージを確認してください。「-1」はパッケージの再ビルド番号で、PHPの実行時バージョン自体は変わりません。利用環境ごとの細かな追跡も、事後対応の一部です。

【レンタルサーバーの場合】
この回帰バグへの実用的な自衛策は、普段から稼働確認ポイントを決めておくことです。パッチ適用直後〜数日間は、お問い合わせフォームやXMLフィードの取り込みなど、普段から動きが分かる主要機能をチェックし、急に500エラーやフリーズが増えたら「ホストのPHP更新と時期が重なっていないか」を確認します。ホスト側のバージョン更新の履歴は、お知らせで確認してください。phpinfoの表示は現在の実行環境を確認する手がかりになります。クラッシュが続く場合は、プラグイン・テーマの組み合わせと併せて、ホストへ状況を伝えて相談してください。

併せて、サポート状況の棚卸しも事後対応の一部です。PHP 8.1以前はすでにPHP公式のサポートが終了しており、PHP 8.2も2026年12月31日にサポート終了を迎えます。今回PHPプロジェクトはPHP 7.4・8.0・8.1向けの最小限のソースバックポートも提供しましたが、あくまで緊急対応です。ディストリビューションのバックポート版を使っている場合は、変更履歴やセキュリティ情報で両CVE(CVE-2026-109618 / CVE-2026-109619)への対応を確認し、サポート切れの環境は移行計画を立てましょう。
レンタルサーバー利用者にとっては、これは「ホストのサポート切れ告知をチェックする」という行動に置き換わります。管理画面のPHPバージョン表示が「非推奨バージョン」になっていないか、ホストが移行期限の案内を出していないかを確認し、期限前に自サイトの動作確認(プラグイン・テーマとの相性)を済ませておくのが、レンタルサーバー版の「棚卸し」です。

6. WordPress側の事後対応:侵入経路の「玄関」を掃除する

PHP側の事後対応が整ったら、次はWordPress(CMS)側です。前回の記事で「PHPとWordPressは運命共同体」と申し上げましたが、事後対応も同様に両輪です。このセクションの作業は、共用レンタルサーバーでも自前サーバーでも、手順はほぼ同じです。具体的には以下の3点を行います。

① WordPressコア・テーマ・プラグインの最新化(ここまで遅れた分をまとめて返済する)

今回の緊急対応を機に、長期間放置されていたWordPress環境の更新も進めましょう。その必要性を示す実例が、9月に公開されたWordfenceの技術解説でも紹介されています。人気の移行・バックアッププラグイン「All-in-One WP Migration and Backup」の高深刻度の脆弱性(CVE-2026-19949、CVSS 8.8)は、WordPressのトラックバック経由で仕込まれたSQL文が、管理者がエクスポートしたアーカイブを復元する際に実行される「第二種SQLインジェクション」です。認証なしの攻撃者がプラグインの秘密のインポートキーを取得し、悪意のあるアーカイブ(.wpress)を取り込ませてリモートコード実行(RCE)に至る経路が指摘されました。Wordfenceの解説時点で500万以上の有効インストールを持つこのプラグインでは、修正版7.110が8月20日にリリースされています。
PHP本体を更新しても、プラグイン側の脆弱性は別に対応する必要があります。更新だけでなく、更新前に侵害されていなかったかの確認もセットで行ってください。

② 認証情報の見直しと、二重化された「鍵」の刷新

前述の通り、メモリ漏えいや侵害の可能性を踏まえ、WordPress管理者・データベース・サーバーへの認証情報について、更新・失効の対象を確認します。侵害が確認された場合は、初期対応時の認証情報の失効に加え、不正なファイルや侵入経路への対応後に改めて更新してください。特にバックアップ系プラグインが持つ「インポート用の秘密キー」のような仕組みは、漏えいすると復元機能そのものが攻撃の入口に化けます(前述のAll-in-One WP Migrationの事例がまさにそうでした)。鍵・シークレットの類も「作ったきり放置」せず、更新対象から漏らさないよう管理してください。
レンタルサーバー利用の場合は、ここに「管理画面(サーバーパネル・コントロールパネル)の認証情報」と「FTP(SFTP)の認証情報」も含めて確認してください。可能なホストでは二段階認証(2FA)も併せて有効にしてください。

③ クリーンなバックアップの再取得と、「検証済み復旧」の確認

事後対応の締めとして、侵害への対応と状態の確認を行ったうえで、復旧用のバックアップを取り直すことが重要です。調査のために保存したデータと、復旧に使うバックアップは分けて管理してください。万一の際の復旧計画(前回記事の「切り戻し」)は、実際に復元テストをして、復元できることを確かめる必要があります。定期的な復元訓練(DRテスト)まで含めた運用を、今回を機に組み込むことを推奨します。
レンタルサーバー利用の場合:ホストが提供する自動バックアップがある場合は、その仕様(保存世代・保存期間・復元方法・追加料金)を管理画面で確認し、WordPress内プラグインのバックアップと別系統での保管も検討してください。ホスト側バックアップの復元は管理画面から可能なこともありますが、復元の対象や上書きの範囲はホストごとに異なります。手順の確認は準備であり、実際の復元テストの代わりにはなりません。本番に影響しない検証環境等での復元方法をホストや保守担当者と確認し、未実施の場合は「復元テスト未実施」として残してください。

7. まとめ:セキュリティ対応の完成は「確認と検証」で行われる

「PHPのパッチを当てた。WAFも効いている。よし、これで安心だ」
もし貴社の対応がここで止まっているなら、事後対応の確認が残っています。

  • パッケージ更新だけで適用完了と判断せず、PHP-FPM・Apacheなどの稼働中プロセスに修正が反映され、Web側が修正済みPHPで動いていることを確認する。共用レンタルサーバーでは再起動はホストの領域なので、「ホストのお知らせ確認→管理画面・phpinfoと事業者の修正情報の照合」に置き換える。
  • 侵害調査は「公表日(10月21日)」だけを起点にせず、「少なくとも10月17日」までさかのぼる。兆候のあるサーバーは再起動の前に必要な証拠保全を判断する。共用レンタルサーバーでは、取得できるログやファイルを保存し、メモリ等の保全や追加の調査は早めにホストへ相談する。
  • WAF・設定変更はPHP本体の修正の代替にはならない。PHP公式は修正版の適用を求め、CloudflareもPHP更新とWAF保護の併用を推奨している。ホスト標準のWAFも、PHP対応と組み合わせて利用する。
  • 緊急パッチ後も作業は続く。別件のCVE-2026-115560の該当条件と暫定策を確認し、次回リリースやホストの対応を追う。共用レンタルサーバーでは、管理画面で設定できることだけで有効と判断せず、ホストの対応状況と反映方法を確認する。
  • CMS側の事後対応(プラグイン最新化・認証情報の見直し・復元を検証したバックアップ)も進める。レンタルサーバー利用者は、管理画面とFTP等の認証情報、ホスト側バックアップの仕様も確認する。
パッチ適用の後には、適用状態の確認と、侵害の有無を調べる作業が残ります。
今回のphp2shellは、緊急パッチという「走り」を私たちに強いました。
しかし、その後の静かな確認作業(侵害調査、認証情報の見直し、CMSの最新化、復旧訓練)こそが、次の脆弱性が見つかったときに備えられる組織をつくるのです。
この「確認作業」は、自前サーバーとレンタルサーバーで分担が変わるだけで、なくなるものではありません。サーバーの根幹をホストに預けたレンタルサーバー利用者ほど、「確認できる範囲を確実に確認し、確認できないものは相談して対応を決める」規律が重要になります。
前回の記事で「パッチ適用はミニプロジェクトである」と申し上げました。
そして、そのプロジェクトでは、確認した範囲と結果、残る課題を記録し、「確認し、検証し、次に備える」ところまでを管理することが大切です。

参考情報・出典

PHP更新後の確認・WordPress保守でお悩みの方へ

「サーバー側のPHP対応は済んだが、自社で何を確認すべきか分からない」
「WordPress・テーマ・プラグインの更新や動作確認を相談したい」
「サーバー事業者・制作会社・社内担当者の役割分担を整理したい」
「バックアップや復旧手順を含め、保守・運用体制を見直したい」

株式会社ヒューコネクトでは、Webサイトの保守・運用についてご相談を承っています。
ご利用のサーバーやCMS、現在の管理体制を伺い、必要な作業と担当範囲を整理したうえで、対応方針と支援内容をご案内します。

PHP更新後の確認・Webサイト保守について相談する

本記事の情報源と確認範囲について
本記事は、PHP公式や各サーバー事業者の公表資料、公開された調査報告を基に、対応の考え方と確認事項を整理しています。掲載した設定や手順について、すべてのレンタルサーバー・サービスプラン・個別の契約環境で、設定変更後の動作まで実機で検証したものではありません。
設定できる項目や設定の適用方法は、利用環境によって異なります。実際の操作前には、ご利用のサーバー事業者の最新の案内をご確認ください。案内だけでは判断できない点は、事業者または保守担当者へご相談ください。

監修者
矢野 俊幸
Toshiyuki Yano
代表取締役 Executive Producer|福岡オフィス
私は25年以上、企業のWebサイト制作・運営に携わってきました。Webサイトは企業の価値を映す大切な資産であり、継続的な改善の積み重ねが成果を生むと信じています。 当社では保守専任エンジニアが直接対応する体制を整え、責任あるサポートを徹底しています。同時に、専門的な内容であっても、できるだけ分かりやすくお伝えすることを大切にしてきました。 本コラムでは、経験豊富な制作者の方はもちろん、これからWeb運営に取り組む方にも寄り添いながら、本質を見極める視点と実務に活かせる知見を、情熱を持って発信してまいります。
HU-CONNECTの
保守についてはこちら!