PHPの重大な脆弱性「php2shell」の修正版公開 ―影響範囲とAIによる発見の経緯

Share
PHPの重大な脆弱性「php2shell」の修正版公開アイキャッチ画像

PHPの重大な脆弱性「php2shell」への対応は、更新の準備から修正版を適用する段階に移りました。PHPプロジェクトは2026年10月21日、認証なしでサーバー上のコードを実行されるおそれがある2件の脆弱性を修正し、利用者に速やかな更新を求めています。またOpenAIも同日、AIを活用した発見と、PHPの開発者やセキュリティ事業者による対応の経緯を公表しました。本記事では、修正バージョン、影響範囲、暫定策の限界を整理し、AI時代の脆弱性管理で企業が見直したい運用を解説します。

※本記事は2026年10月22日12時時点で公表されている情報を基に作成しています。脆弱性の影響範囲や対策については、PHP公式および利用製品の提供元が公表する最新情報をご確認ください。

PHP本体に存在する2件の重大な脆弱性「php2shell」

対象はCVE-2026-109618とCVE-2026-109619です。いずれも深刻度はCVSS v4.0で9.2のCriticalとされています。前者はメモリ不足が起きた際、不完全な内部データを後の終了処理で使ってしまう問題です。後者は、リクエストの処理後に解放されたメモリへの参照が残り、同じワーカーが後続のリクエストを処理するときに使ってしまう問題です。

PHP公式は、PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webリクエストを処理するPHP環境をリスクのある対象として挙げています*1。特にmod_phpでは、アプリケーションのコードが動く前に認証不要の攻撃が成立する実証があり、最もリスクが高いと評価しています。

ただし、攻撃が成立する条件や実証の範囲は、実行方式、設定、アプリケーションなどによって異なります。すべての構成で同じ攻撃が同じように成立するわけではありません。構成による違いを理由に更新を見送らず、公式のアドバイザリと利用環境を照合することが必要です。

PHPの修正バージョンと旧バージョンの対応

10月21日に公開された修正版は、PHP 8.2.35、8.3.36、8.4.27、8.5.12です。各系列でこれらより前のバージョンを使っている場合は、修正版への更新を進めます。Linuxディストリビューションや長期サポート事業者のパッケージでは、提供元のセキュリティ情報と修正済みパッケージを確認してください。旧版を維持したまま修正を取り込むバックポートでは、上流のPHPとバージョン表記が一致しない場合があります。表示番号だけで結論を出さず、提供元が今回の2件のCVEに対応しているかを確認することが大切です。

PHP 8.1以前は、PHPプロジェクトの通常の更新対象から外れています。ただし、今回は問題の重大さから、PHP 7.4、8.0、8.1向けに最小限のソースバックポートも提供されました。これを通常サポートの再開と捉えず、保守事業者の対応を確認しながら、サポート対象への移行を進めてください。

図1:php2shellに対応したPHPの修正バージョン

php2shellに対応したPHPの修正バージョンの表
出典:The PHP Group「Security advisory: Critical remote code execution vulnerabilities, update now」「RCE via OOM corruption」「RCE via stale global state」を基に弊社作成。
※2026年10月21日公開の修正バージョンを系列ごとに示しています。修正版より前のバージョンは更新確認の対象です。ただし、旧系列やLinuxディストリビューション等によるバックポートは表に含めていません。提供元のCVE対応情報も確認してください。

OpenAIが公表したAIによる発見と協調開示

OpenAIによると、セキュリティ企業Califは「Patch the Planet」の取り組みでGPT-5.6 Solを使い、重大な欠陥を特定しました*2。また、Wizも独立して両方の脆弱性を発見・報告しています。修正とリリースを主導したのはPHPのメンテナーで、OpenAIなどが調査・テスト・調整を支援しました。

発見の経緯には、以前から把握されていた問題も含まれます。The PHP Foundationは、CVE-2026-109618の原因となったメモリ不足処理の問題について、2024年に兆候を認識していたと説明しています*3。その後の研究報告によって深刻な影響が明確になりました。AIによる研究が進む一方で、報告の判断やパッチの作業には人が関与しているとも説明しています。

協調開示では、問題の公表に向けて開発者が修正を検証し、配布元やサービス事業者が更新や防御策を準備します。今回も、PHPの修正を利用者に届けるまでに複数の組織が関わりました。企業の運用でも、情報を受け取る担当、対象システムを把握する担当、更新を実施する担当の間で作業が止まらない体制が欠かせません。

図2:脆弱性の発見から企業の更新までをつなぐ役割

PHP脆弱性対応フロー図
出典:OpenAI「Patch the Planet:エージェントによる重大な脆弱性の発見と世界規模の対応連携」、The PHP Foundation「Today’s PHP Security Release, and How We’re Strengthening PHP Security」を基に弊社作成。
※今回の主な役割を簡略化した概念図です。矢印は連携を示し、厳密な時系列や組織間の指揮命令関係を示すものではありません。企業による適用・確認は運用上の対応を示しています。

設定変更やWAFだけで対策を終えない

PHP公式は、更新が唯一の完全な対策であり、暫定策は特定の攻撃経路への露出を減らすものとしています。例えば、session.upload_progress.enabled=0は、確認済みのセッション関連経路を抑える設定です。CVE-2026-109619のすべての経路を防ぐものではなく、反映には全ワーカーの再起動も必要です。エラー表示を消すだけでも対策にはなりません。

Cloudflareは10月21日の公表で、顧客を狙う攻撃トラフィックを観測し、WAFの防御を回避しようとする変化も確認したと報告しています*4。これは同社の観測であり、すべての環境で侵害が成功したことを示す情報ではありません。同社はWAFによる防御を提供しつつ、PHP自体の更新も求めています。

更新までの時間が必要な場合は、運用担当者と事業者が公式の緩和策を確認し、利用機能や可用性への影響を検討します。設定を変更した記録と、修正版を適用した記録は分けて管理してください。暫定策を講じたことで更新作業が止まらないよう、未更新の環境には担当者と対応期限を設定します。

CMSの更新状況に加えてPHPの稼働環境を確認する

今回の修正対象は、CMSやプラグインの下で動くPHP本体です。CMSの管理画面で更新済みと表示されていても、それだけではPHPの修正が適用されたことを確認できません。ホスティング事業者がPHPを管理している場合は、事業者に更新状況と利用者側で必要な操作を確認します。

企業側では、コーポレートサイトやECサイト、問い合わせフォーム、部門や委託先が管理するWebシステムについて、PHPの利用有無、実行方式、バージョン、更新元、管理者をそろえます。複数のサーバーやコンテナで動かしている場合は、一部の更新だけで完了としないよう、環境ごとに対応状況を残してください。適用後は、提供元の手順に従って再起動などの必要な処理を行い、実際にWebリクエストを処理している環境に修正が反映されたことを確認します。ログイン、フォーム送信、購入手続きなど、業務上重要な操作の動作確認も行います。米国国立標準技術研究所(NIST)も、パッチ管理には更新の識別、優先順位付け、取得、適用だけでなく、適用確認までを含めています。

並行して、アクセスログやエラーログの記録・保全状況を確認します。更新の完了は、過去に侵害されていないことの証明にはなりません。不審な通信やファイル、予期しないプロセスなどが見つかった場合は、記録を保全し、組織のインシデント対応手順に沿って調査につなげてください。

BBSecが支援する脆弱性情報の収集と公開資産の把握

緊急更新を進めるうえでは、自社に関係する情報を見つけ、未対応のシステムを追える状態が必要です。ブロードバンドセキュリティ(BBSec)の「脆弱性情報提供 SAS(Secure Net Alert Mail Service)」は、登録されたシステム情報に基づき、関連する脆弱性情報を絞り込んで提供するサービスです。対応ステータスの管理機能も備え、日々の脆弱性管理を支援します。SASの配信情報は、プランに応じてJVNやNVDの公開情報を利用します。PHP公式や利用中の事業者が出す案内も直接確認し、情報提供サービスと組み合わせて対応を進めることが大切です。

公開資産の把握に課題がある場合は、「アタックサーフェス調査(SQAT® ASM)」も活用できます。インターネット上の公開情報から、攻撃者に見える資産や脅威となり得る情報を調査するサービスです。調査結果を社内の資産台帳と照合し、管理担当や更新状況を確かめる手掛かりにできます。

まずは今回のPHP更新を着実に進め、その過程で情報の見落としや担当の不明確さが見つかったら、日々の管理方法も見直してください。脆弱性情報の選別や公開資産の把握にお困りの場合は、BBSecへご相談ください。

【参考情報】

編集責任:木下

ウェビナー開催のお知らせ

最新情報はこちら


Security NEWS TOPに戻る
バックナンバー TOPに戻る