本文へスキップ
Estontinc

公開日 7 分で読めます

PHP セキュリティアップデート:次のバグ修正リリースまでに php2shell を塞ぐ

php2shell と呼ばれる PHP の重大な脆弱性2件が 2026年10月21日に修正されました。安全なバージョン、サーバーの確認方法、次のリリースまでオフにしておく設定を解説します。

ガラスの盾に守られたすりガラスのWebサーバー、2026年10月の PHP セキュリティアップデートのイメージガラスの盾に守られたすりガラスのWebサーバー、2026年10月の PHP セキュリティアップデートのイメージ

あなたの PHP サイトは今、安全でしょうか。 2026年10月21日、PHP プロジェクトは PHP セキュリティアップデート を公開しました。8.5.12、8.4.27、8.3.36、8.2.35 では、認証なしでのリモートコード実行(RCE)につながる重大な脆弱性2件が修正されています。Web サイトやオンラインストア、社内システムが PHP で動いている場合は、すぐにアップデートし、次の定期バグ修正リリースまで設定をひとつオフにしておきましょう。

この記事では、何が起きたのか、どのバージョンが安全か、今週やるべきこと、そしてサーバーが本当に修正済みかを確かめる方法をまとめます。

何が起きたのか:php2shell の概要

2件の脆弱性は php2shell と呼ばれています。Cloudflare によると、2026年10月21日に Calif.io、Wiz、OpenAI、Quarkslab が公表しました。PHP プロジェクトは同日に セキュリティアドバイザリ を公開し、すべての PHP ユーザーに直ちにアップデートするよう強く推奨しています。

  • CVE-2026-109618(GHSA-w8hw-w9fx-j79w)、OOM 時の破損による RCE。 メモリ不足(OOM)の処理によって、内部のリクエストデータが一部しか初期化されていない状態で PHP が中断される可能性があります。
  • CVE-2026-109619(GHSA-6wmf-4rv5-p3rp)、古いグローバル状態による RCE。 リクエストが持つ内部状態が、その裏付けとなるメモリの解放後も残る可能性があります。

簡単に言えば、条件がそろうと、第三者がログインせずにサーバー上で任意のコードを実行できるおそれがあります。そのため2件とも重大(critical)とされています。

安全な PHP のバージョンは?

PHP セキュリティアップデートの対応表:PHP 8.5 は 8.5.12、8.4 は 8.4.27、8.3 は 8.3.36、8.2 は 8.2.35 へ。PHP 7.4、8.0、8.1 には最小限のソースバックポートを提供PHP セキュリティアップデートの対応表:PHP 8.5 は 8.5.12、8.4 は 8.4.27、8.3 は 8.3.36、8.2 は 8.2.35 へ。PHP 7.4、8.0、8.1 には最小限のソースバックポートを提供

PHP 8.2 以降を使っている場合は、表のバージョンへ通常どおりアップデートすれば修正されます。古い PHP 7.4、8.0、8.1 については、新しいリリースではなく、PHP セキュリティチームが最小限のソースバックポートを提供しています。これはソースから PHP をビルドしているチーム向けです。多くの企業には、あわせて新しいブランチへの移行を計画することをおすすめします。

10月23日の追加アドバイザリ

2日後、PHP はセッションのアップロード進捗機能について 情報アドバイザリ を公開しました。可能性は低いものの RCE につながる経路から完全に守るため、次の定期バグ修正リリースまで session.upload_progress.enabled=0 にするよう勧めています。CVE-2026-115560 の詳細なアドバイザリは、そのリリースとともに公開される予定です。

Cloudflare は、この問題が 8.5.12 を含む修正済みのリリースにも影響すると説明しています。つまり今月は、アップデートだけでは終わりません。次の PHP リリースが出るまで、アップロード進捗機能はオフのままにしておきましょう。

PHP セキュリティのタイムライン:2026年10月21日にセキュリティリリース、10月23日に情報アドバイザリ、次の定期リリースで CVE-2026-115560 を修正予定PHP セキュリティのタイムライン:2026年10月21日にセキュリティリリース、10月23日に情報アドバイザリ、次の定期リリースで CVE-2026-115560 を修正予定

次のバグ修正リリースまでに行う PHP のセキュリティ対策

PHP セキュリティアップデートの6つの手順:実際のバージョン確認、ステージングでのテスト、本番の更新、アップロード進捗のオフ、全ワーカーの再起動、次のリリースの確認PHP セキュリティアップデートの6つの手順:実際のバージョン確認、ステージングでのテスト、本番の更新、アップロード進捗のオフ、全ワーカーの再起動、次のリリースの確認
  1. すべてのサーバーで実際の PHP バージョンを確認します。 Debian、Ubuntu、RHEL、Alpine などのディストリビューションのパッケージは、アップストリームのバージョン番号を変えずに修正をバックポートすることが多いため、php -v だけでは不十分です。パッケージの変更履歴で CVE-2026-109618 と CVE-2026-109619 を確認してください。
  2. ステージングでアップデートを試します。 8.5.12、8.4.27、8.3.36、8.2.35、または修正済みのディストリビューションパッケージに更新し、購入、ログイン、フォームの流れを確認します。
  3. 本番環境を更新します。 PHP を動かしているすべてのサーバー、コンテナ、ワーカーが対象です。
  4. session.upload_progress.enabled=0 を設定し、すべてのワーカーを再起動します。 古い設定のまま動き続けるプロセスを残さないためです。
  5. 次の PHP 定期リリースを確認します。 CVE-2026-115560 が修正される予定なので、同じ手順で適用しましょう。

今日アップデートできない場合

PHP は一時的な緩和策を示していますが、それはリスクを減らすだけで、安全にするものではないとしています。完全な解決策はアップデートだけです。

  • CVE-2026-109618 への対策: アプリケーションから上書きできない方法で memory_limit=-1 を設定します。例として FPM プールや Apache 設定の php_admin_value があります。
  • CVE-2026-109619 への対策: session.upload_progress.enabled=0 を設定し、すべてのワーカーを再起動します。

WAF だけで十分?

Cloudflare によると、同社の WAF は無料プランと有料プランの両方で、10月21日 03:02 UTC からデフォルトで保護しています。ただし Cloudflare は、WAF は多層防御のひとつであり、アップデートの代わりにはならないとして、PHP 自体の修正を求めています。

ビジネスへの影響

企業サイト、オンラインストア、社内ダッシュボードの多くは、WordPress、Laravel、独自コードなどを通じて PHP で動いています。どのフレームワークでも答えは同じで、修正が必要なのはサーバー上の PHP ランタイムです。ホスティング会社が管理している場合は、どのパッケージが入っていて、2件の CVE の修正が含まれているかを確認しましょう。自社でサーバーを管理している場合は、今週中に対応すべき作業です。

セキュリティアップデートは都合のよい時期に来るとは限りません。JavaScript のサイトでも同じことが言えるのは Next.js を安全にアップデートする方法 で紹介したとおりです。早く立て直せるのは、ステージング、バックアップ、検証済みの更新手順をすでに持っているチームです。

Estontinc がお手伝いできること

Estontinc はインドネシア・マランのソフトウェア開発会社で、6年以上にわたり 100件以上のプロジェクトと 50社以上のクライアントを支援してきました。PHP の Web サイトやシステムについて、次のことをお手伝いします。

  • PHP バージョンの監査: サーバー、コンテナ、ホスティング全体を確認し、ディストリビューションのパッケージ変更履歴もチェックします。
  • テストを伴うパッチ適用: まずステージング、次に本番の順で進めます。Web 開発サービス の一環として対応します。
  • リリース後の保守: 保守サービスでバグ修正とアップデート、監視とバックアップ、毎月の小さな改善を行い、サーバー作業は クラウド・DevOps チーム が担当します。

NDA を結んだうえで作業し、ソースコードはお客様のものです。日本語、英語、インドネシア語で対応できます。PHP 環境をさっと確認したい場合は、お問い合わせページ から詳細をお送りください。24時間以内にご返信します。

よくある質問

php2shell を修正した PHP のバージョンは?

2026年10月21日に公開された PHP 8.5.12、8.4.27、8.3.36、8.2.35 で、認証なしのリモートコード実行につながる重大な脆弱性 CVE-2026-109618 と CVE-2026-109619 が修正されました。PHP 7.4、8.0、8.1 については、ソースからビルドする人向けに PHP セキュリティチームが最小限のバックポートを提供しています。

PHP サーバーが修正済みかどうかを確認するには?

php -v だけでは不十分な場合があります。Debian、Ubuntu、RHEL、Alpine のパッケージは、アップストリームのバージョン番号を変えずにセキュリティ修正を取り込むことが多いためです。パッケージの変更履歴で CVE-2026-109618 と CVE-2026-109619 を確認するか、ホスティング会社に両方の修正が入っているか問い合わせてください。

アップデート後もセッションのアップロード進捗機能はオフにすべき?

はい、当面はオフにしておきましょう。PHP は 2026年10月23日、可能性は低い RCE 経路 CVE-2026-115560 から守るため、次の定期バグ修正リリースまで session.upload_progress.enabled=0 にするよう勧めました。Cloudflare によると 8.5.12 などの修正済みリリースも対象です。設定変更後はすべての PHP ワーカーを再起動してください。

Cloudflare の WAF だけで PHP サイトを守れますか?

いいえ。Cloudflare の WAF は 2026年10月21日 03:02 UTC から無料・有料プランの両方でデフォルトで保護していますが、Cloudflare 自身が WAF は多層防御であり代わりにはならないと説明しています。Cloudflare は PHP の修正を求めており、PHP も完全な解決策はアップデートだけとしています。

WordPress や Laravel のサイトも影響を受けますか?

脆弱性は PHP 自体にあり、PHP は Web リクエストを処理するすべての環境にリスクがあるとしています。サーバーの PHP が未修正であれば、WordPress、Laravel、独自の PHP サイトも影響を受けます。CMS やフレームワークを更新しても直らないため、サーバー上の PHP ランタイムを更新する必要があります。

出典

この記事の事実と数値は、以下の公式情報に基づいています。

  • Web development
  • Security
  • PHP
  • Maintenance
  • Cloudflare
すべての記事を見る

アイデアを、動くソフトウェアに。

つくりたいものをお聞かせください。明確な計画、スケジュール、見積もりを無料でご提案します。

  • 無料相談
  • 24 時間以内に返信
  • NDA 締結可