blog

PHP脆弱性CVE-2026-109619——悪用確認済み、修正版への更新が急務

PHP脆弱性CVE-2026-109619——悪用確認、修正版へ更新を

PHP 脆弱性 CVE-2026-109619 の概要——何が起きているか

2026年10月21日、PHP公式のセキュリティアドバイザリ(GHSA-6wmf-4rv5-p3rp)を通じてCVE-2026-109619が公開された。同月26日にはCISA(米国サイバーセキュリティ・インフラストラクチャセキュリティ庁)のKEV(Known Exploited Vulnerabilities)カタログに追加された。KEV掲載は悪用が確認されたことを意味するが、自社が影響を受けるとは限らない。

PHPはエラー処理・セッション管理・オブジェクト・拡張機能などのグローバル状態をワーカープロセス単位で保持しており、これらのデータ構造はあるリクエストが所有するメモリ領域を指している。正常な動作では、リクエストメモリが解放される前にグローバル状態がリセットされる。しかし特定の条件下——致命的なエラーによる処理の中断、またはシャットダウン中に発生する非致命的な警告など——でリセット処理が完了しないまま次のリクエストが始まると、すでに解放されたメモリ領域を後続のリクエストが参照してしまう。これがUse-after-free(CWE-416)と呼ばれる欠陥であり、攻撃者がヒープレイアウトを意図的に操作できれば完全な遠隔コード実行(RCE)につながる可能性がある。

CVE公式記録(cve.org、採番元CNA:php)に基づくCVSSスコアは4.0で9.2(CRITICAL)と評価されており、ネットワーク経由での攻撃経路(AV:N)が評価に反映されている。FIRST EPSSによる悪用確率の統計的推定値は2026年11月1日時点で0.99999であるが、これはあくまで統計的推定であり、特定の環境での悪用を確定するものではない。

CVE-2026-109619 悪用の仕組み(producer → consumer → RCE)リクエスト1致命的エラー発生グローバル状態リセット未完了(producer操作)リクエスト2解放済みメモリを参照(consumer操作)RCEの可能性① 正常処理が中断② 古い状態が残存③ Use-after-free発生④ 遠隔コード実行通常: リクエスト終了 → グローバル状態リセット → メモリ解放 → 安全欠陥: 致命的エラー等でリセットが省略 → 後続リクエストが古い状態を参照
図1:CVE-2026-109619の悪用メカニズム。リクエスト処理が致命的エラーで中断するとグローバル状態のリセットが完了せず(producer)、後続リクエストが同じワーカーを再利用した際に解放済みメモリを参照する(consumer)。この2段階の操作が成立すると、攻撃者によるヒープ操作を経て遠隔コード実行に至る可能性がある。

少人数のチームでOSSの脆弱性を見つけ続ける方法は、OSSセキュリティのAI自動化で解説しています。

関連記事AIを使った脆弱性診断とは?仕組み・できること・限界・手動診断との違い

PHP 脆弱性 CVE-2026-109619 の対象バージョンと修正版——どの版が危険か

CVE公式記録(cve.org)に基づく影響を受けるバージョンと修正済みバージョンは以下のとおりである。

CVE-2026-109619 影響バージョンと修正版一覧(出典:cve.org/PHP公式アドバイザリ GHSA-6wmf-4rv5-p3rp)
ブランチ 影響を受けるバージョン 修正済みバージョン 備考
PHP 8.2系 8.2.35 未満 8.2.35 —
PHP 8.3系 8.3.36 未満 8.3.36 —
PHP 8.4系 8.4.27 未満 8.4.27 —
PHP 8.5系 8.5.12 未満 8.5.12 fatal_error_backtraces有効時が最も強く実証
PHP 8.1系以前 CVE公式記録では影響対象として記載なし(unaffected) —

Linuxディストリビューション等の配布パッケージを通じてPHPを導入している場合、パッケージのバージョン番号はPHP開発元(PHP Group)の上流バージョンとは体系が異なる。配布パッケージが修正済みかどうかは、各ディストリビューションベンダーの個別のセキュリティ告知を参照する必要があり、上流バージョン番号と直接比較して判断することは適切でない。

実装形態による影響の違いも公式アドバイザリで明示されている。mod_phpでは、.htaccessやApacheのphp_value/php_flag/php_admin_*ディレクティブがphp_request_startup()より前に適用されるため、確実に影響を受ける。FPMは、nginxやApache mod_proxy_fcgiなどのフロントエンドがPHP_VALUE/PHP_ADMIN_VALUEパラメータを送信して初期化前に診断を生じさせる場合に条件付きで影響を受ける。LSAPIは特殊な環境INI値を早期適用する場合があり、条件付きの対象となる。FrankenPHPのデフォルト構成では、等価な早期設定consumerは確認されていないが、アプリケーションや拡張機能の挙動によって異なるconsumerが存在する可能性がある。

PHP 脆弱性 CVE-2026-109619 の技術的背景——欠陥の本質と悪用条件

この脆弱性の本質は、PHPの「Stale Internal Request-State(古いリクエスト状態の残存)」と呼ばれる前提が破られることにある。PHP公式アドバイザリが記録するCWEは5点に及ぶ。

  • CWE-416:解放済みメモリの使用(Use after free)
  • CWE-755:例外的な条件の不適切な処理
  • CWE-824:初期化されていないポインタへのアクセス
  • CWE-1325:不適切に制御された連続メモリ割り当て
  • CWE-1419:リソースの誤った初期化

悪用には「producer」と「consumer」の2段階の操作が成立する必要がある。producerはあるリクエストが所有する状態を後から参照可能な場所に保存する操作を指し、consumerは後続リクエストにおいてその古い状態を読み取り・解放・分岐などに用いる操作を指す。この両方が揃って初めて攻撃が成立する。

PHP公式アドバイザリで最も強く実証されているケースは、PHP 8.5においてfatal_error_backtracesを有効にした状態での致命的エラーバックトレースであり、これがmod_phpでの悪用の主たる根拠とされている。また、セッションアップロード進捗のライフサイクルに関するケースも確認されており、入力処理中のOOM(メモリ不足)がアプリケーション実装に依存しない実証済みのトリガーとなるとされている。

CVSS 4.0のベクトル(AV:N/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N)では攻撃の複雑さ(AC:H)が「高」と評価されており、再現には特定の条件が必要であることを示している。スコア9.2(CRITICAL)は、条件が揃った場合の機密性・完全性・可用性への影響がいずれも高いことを反映したものである。

PHP 脆弱性 CVE-2026-109619 への対応——今やること3点

CISA KEVへの掲載は、実際の悪用が確認された脆弱性であることを意味する。対処は以下の3点に集約される。

1. 対象バージョンを使用している場合は、修正済みバージョンへ更新する。PHP 8.2系は8.2.35へ、8.3系は8.3.36へ、8.4系は8.4.27へ、8.5系は8.5.12へ更新する。Linux等の配布パッケージを利用している場合は上流バージョン番号との直接比較は行わず、各ディストリビューションベンダーの告知に基づく修正版パッケージを適用する。

2. 更新の優先順位を引き上げる。CISA KEVに掲載されている(実際に悪用が確認された)ため、更新の優先順位を上げる。CISAが示した必要な対処の文言は「ベンダー指示に従いBOD 26-04および法医学的トリアージ要件に準拠した緩和策を適用すること。緩和策が利用できない場合は製品の使用を中止すること」である(CISA KEVカタログ原文)。対処期限(2026年10月29日)は米国連邦機関向けであり、日本企業に法的義務を課すものではない。

3. 修正版が適用できない場合は、ベンダーの告知に従う。公式の回避策については、ベンダーの告知を参照されたい。

自社の機器が対象かどうかの判断や、すでに侵入されていないかの確認は、構成やログを見ないと判断できません。

参考文献

重大な脆弱性が出たら、メールでお知らせします

悪用が確認された重大な脆弱性が出たときだけ送ります(頻繁には送りません)。無料・配信停止はメール内のリンクからいつでもできます。

個人情報の扱い

脆弱性への対応・AIセキュリティでお困りの方へ

クリスタルメソッドは、脆弱性情報の監視とお知らせ、AIセキュリティのご相談、AIを業務に取り入れる際のセキュリティを学ぶ研修をお受けしています。「使っている製品が対象か分からない」「社内でAIを使うときの注意点を整理したい」といった段階からご相談いただけます。

AIニュースのまとめをメールで

毎週月曜、海外AIニュースの日次ダイジェストを1週間分まとめてお届けします。無料・いつでも配信を停止できます。

監修

河合 継(クリスタルメソッド株式会社 代表取締役)

AI・ディープラーニングに関する特許16件の発明者。過去、国立がん研究センターとの共同研究や、テレビ番組でのAI解説実績を持つAI研究者として、AIの研究開発を主導している。
運営会社について | 編集方針

Read next

あわせて読みたい

  • OSS財団の人手不足をAIで補う──重要インフラを守る脆弱性監視の自動化

    OSSセキュリティをAIで自動化する──PHP財団「常勤1人」が示す重要インフラの守り方

    PHP財団「常勤1人」が示すOSSセキュリティの構造的課題 2026年10月23日、PHP FoundationのElizabeth Barron事務局長はロイ...

  • AIが企業の脆弱性を爆速で発見する時代のセキュリティ対策

    AIが企業の脆弱性を爆速で発見する時代のセキュリティ対策

    要点:AIの普及で脆弱性の発見から悪用までの時間が極端に短くなり、PHP2Shellでは公開から45分以内に数万件の悪用試みが記録された。対策は、AIで「未然に...

  • 放置サーバが狙われる前に——AIで脆弱性を自動検知・優先修正する方法

    AIを使った脆弱性診断とは?仕組み・できること・限界・手動診断との違い

    AIを使った脆弱性診断とは?先に結論 AIを使った脆弱性診断とは、サイトやシステムの弱点を探す作業の一部を、AIで自動化・補助する診断です。広く、短い期間で、繰...

View more