脆弱性・CVE速報深刻度: 緊急

PHP の遠隔コード実行 2 件(php2shell、CVE-2026-109618・109619)が KEV に、期限は 10/29 で経過

目次(5)

CVE-2026-109618

CVE-2026-109619

CISA は 2026-10-26、PHP 本体の欠陥 CVE-2026-109618 と CVE-2026-109619 を悪用が確認された脆弱性(KEV)に追加しました。どちらも認証なしで遠隔からコードを実行できる欠陥で、通称は「php2shell」です。CISA の対応期限は 2026-10-29 で、すでに過ぎています。PHP を使うウェブサーバーは、修正版への更新を最優先で確認してください。

何が問題か

PHP の公式勧告(GitHub の GHSA-w8hw-w9fx-j79w と GHSA-6wmf-4rv5-p3rp)による内容です。

  • CVE-2026-109618(メモリ不足時の処理): PHP はメモリ不足になると、処理を途中で打ち切って抜け出します。その際、まだ初期化されていないメモリが残る場面があり、後続の後始末処理がその内容を読んで動作が乱れ、遠隔からのコード実行につながります。勧告によると、マルチパート形式(ファイル送信)のリクエストの解析でメモリ不足を起こせます。mod_php では既定の設定でも悪用できると確認されており、FrankenPHP も同様に影響を受ける可能性が高いとされています。FPM と LSAPI は、ソースコードの分析から影響を受けると見られていますが、FPM での完全な攻撃手順は示されていません。
  • CVE-2026-109619(古い状態の参照): リクエストの処理中だけ有効なはずのメモリを、PHP の内部状態が解放後も指し続け、次のリクエストがその状態を使ってしまう欠陥です。勧告は、遠隔コード実行の経路と、メモリ配置を狙った攻撃が実証されていると記しています。

どちらも、権限はウェブサーバーの実行アカウントです。CISA は、この 2 件が Linux カーネルの CVE-2026-46300 と連鎖すると、PHP のウェブシェル(遠隔操作用のプログラム)を埋め込んで root としてコマンドを実行できるとしています。

数値で見る

項目CVE-2026-109618CVE-2026-109619
CVSS v4.09.2(Critical。PHP の CNA が付けた値)9.2(Critical。同)
攻撃元・認証ネットワーク経由・認証不要ネットワーク経由・認証不要
EPSS0.99999(上位約 0.02%)0.99999(上位約 0.001%)
KEV 追加日 / 対応期限2026-10-26 / 2026-10-292026-10-26 / 2026-10-29
ランサムウェアでの悪用不明(KEV の記載)不明(KEV の記載)

CVSS は深刻さの目安(10.0 が最大)で、EPSS は今後 30 日以内に悪用される確率の推定です。EPSS が 1 に近いのは、悪用がほぼ確実とみられていることを示します。

対象と修正版

PHP の勧告では、次のとおりです。

ブランチ修正版
PHP 8.58.5.12
PHP 8.48.4.27
PHP 8.38.3.36
PHP 8.28.2.35

勧告に載る影響範囲は、各ブランチの上記より前の版です。NVD は CVE-2026-109618 を 7.3.0 以降、CVE-2026-109619 を 5.4.0 以降の版として登録しています。CISA は、サポート終了の PHP 8.1 以前を使うシステムは、更新できないならオフラインにするよう促しています。

PHP は他のソフトに組み込まれていることが多く、気づかずに使っている場合があります。たとえば Palo Alto Networks は、PAN-OS(10.2・11.1・11.2・12.1・12.2)の管理画面と XML API が両方の欠陥の影響を受けるとし、インターネットに公開された管理インターフェースへの攻撃が実際に起きていると公表しています。修正は 12.2.4-h1、12.1.10-h3、11.2.16-h1、11.1.16-h4、10.2.18-h13 以降などで、枝ごとに異なります。Siemens も、PAN-OS を載せた RUGGEDCOM APE1808 が影響を受けると SSA-566512 で公表しています。

すぐにやること

  1. PHP を使う全システムを洗い出す。ウェブサーバーに入れた PHP だけでなく、他の製品に組み込まれたものも対象です。
  2. 修正版へ更新する。インターネットに公開しているものを先にします。PHP 側の勧告は、更新が唯一の完全な対策だとしています。
  3. 更新できない間の暫定策(完全な対策ではありません):
    • CVE-2026-109618 向け: メモリ上限を無制限に設定して強制し(memory_limit=-1。ワーカーの再起動が必要)、post_max_size を控えめにし、ファイル送信を使わないアプリではマルチパートのリクエストを手前で遮断する。RLIMIT_AS と RLIMIT_DATA は、かえって欠陥の経路を呼ぶため使わない。
    • CVE-2026-109619 向け: session.upload_progress.enabled=0 にしてワーカーを再起動する。PHP 8.5 では fatal_error_backtraces=0 も設定する。
    • CISA は、WAF(ウェブアプリケーション ファイアウォール)が更新までの間いくらか守ってくれる場合があるとしています。
  4. 侵害の痕跡を調べる。CISA は、PHP のワーカープロセスがシェルを起動したり、ツールをダウンロードしたりしていないかを監視するよう求めており、CISA の SIGMA(ログ検知ルールの書式)の検知ルールも案内しています。
  5. PAN-OS を使う場合は、管理インターフェースを信頼できる内部アドレスだけに絞り、Palo Alto Networks の勧告にある修正版へ更新する。

注意点

  • KEV の記載では、対応期限の 2026-10-29 は過ぎています。KEV は「フォレンジック確認が必要」としているため、更新だけでなく、すでに侵入されていないかの確認も要ります。
  • 悪用の具体的な件数や攻撃の経路は、CISA の警告に詳しくありません。確認できたのは、KEV への追加と、PAN-OS の管理画面への攻撃の公表です。
  • 勧告上は PHP 8.2 以降の修正版が示されています。古い版を使っている場合の扱いは、使っている製品のベンダーに確認してください。

この記事について

出典

この記事を共有