セキュリティニュース
PHP本体に重大な脆弱性2件(CVE-2026-109618 / 109619)— 10/21 23時に修正版、公開されたらすぐ更新を
ひとことで言うと
- PHP 本体に、外部からサーバー上で好きなプログラムを動かされるおそれのある脆弱性(RCE)が2件見つかりました。深刻度は CVSS v4.0 で 9.2(緊急)。
- 情報が予定より先にもれたため、修正版の公開が前倒しされ、10月21日 23:00(日本時間) に出る予定です。
- 攻撃ツールはすでにダークネットで出回っています。神戸ソフトのセキュリティチームはこれを入手し、実際にサーバーを乗っ取れることを再現しました。
- 修正版を当てるまでの臨時対応として、multipart/form-data 形式のリクエストを遮断することが有効です。
- PHP で動くサイト(WordPress、EC サイトなど)を持つ会社は、修正版が出たらすぐ更新できるよう、今のうちに段取りを。
この記事は 10月21日 17時(日本時間)時点の情報です。修正版が公開されたら追記します。
何が起きたのか
10月20日、PHP の開発チームが「重大な脆弱性2件を直す、緊急のセキュリティリリースを出す」と予告しました。番号は CVE-2026-109618 と CVE-2026-109619 です。
本来は公表の日取りを決めて、修正版と同時に知らせる段取り(いわゆる「非公開期間」)でした。ところが、その前に掲示板へ情報が書き込まれ、攻撃ツールらしき画面の画像まで出回ってしまいました。セキュリティ会社の watchTowr は、少なくとも1件を再現できた=本物だと確認しています。
さらに、攻撃ツールはすでにダークネットで出回っています。神戸ソフトのセキュリティチームはこのツールを入手して検証し、実際にサーバーを乗っ取れることを再現しました。「修正版が出てから攻撃がはじまる」のではなく、今この時点で攻撃できる状態だと考えてください。
PHP チームは公開を1日早め、日本時間 10月21日 23:00 に修正版を出すとしています。状況しだいでは、さらに早まる可能性もあります。
まずいに決まっている! 緊急事態だ!
ふつうは直し方と同時に公表するから、守る側は「知った瞬間に直せる」。
今回は、穴があることだけが先に知れわたったうえに、攻撃ツールまで出回っている。守る側はまだ直し方を持っていないのに、攻める側はもう道具を持っているんだ!
だから修正版を待つあいだも、臨時の守りを今すぐ入れろ! 「パッチが出たら考えます」では遅い!
わかっていること・まだわからないこと
| 項目 | 状況(10/21 17時時点) |
|---|---|
| 深刻度 | CVSS v4.0 で 9.2(PHP 公式)。10.0 とする報道もある |
| 種類 | 遠隔からのコード実行(RCE) |
| 対象のバージョン | 未発表。PHP 5〜8 の広い範囲に及ぶという報道あり |
| 攻撃の条件 | 公式には未発表。multipart/form-data 形式のリクエストの遮断が臨時対応として有効 |
| 攻撃ツール | ダークネットで出回っている。神戸ソフトで入手し、サーバーの乗っ取りを再現済み |
| 修正版 | 10/21 23:00(日本時間)に公開予定 |
気をつけたいのは「古い PHP」
PHP が今も修正版を出しているのは 8.2 以降です。8.1 以前はサポートが終わっているため、今回の修正版は出ない見込みです。
古いまま動いているサイトは意外と多く、たとえば「何年も前に作ってもらったまま」の会社サイトや、更新の止まった業務システムがあたります。こうしたものは更新では直せないので、別の手を考える必要があります。
臨時対応:multipart/form-data を遮断する
修正版を当てるまでのあいだは、multipart/form-data 形式のリクエストを遮断することが有効です。WAF やWebサーバーの設定で、この形式のリクエストをはじくようにします。
multipart/form-data は、主にフォームからファイルを送るときに使われる形式です。遮断すると、次のような機能が使えなくなります。
- 問い合わせフォームなどのファイル添付
- WordPress などの管理画面からの画像・ファイルのアップロード
- 応募フォーム・申込フォームでの書類の送信
使えなくなる機能があることを社内に伝えたうえで、修正版を当てたら元に戻す前提で入れましょう。設定は保守会社・事業者にお願いするのが確実です。参考までに、Webサーバーで遮断する設定の例です。
# nginx(server ブロックの中)
if ($content_type ~* "multipart/form-data") {
return 403;
}
# Apache(mod_rewrite)
RewriteEngine On
RewriteCond %{CONTENT_TYPE} multipart/form-data [NC]
RewriteRule ^ - [F]
やること
今日のうちに(修正版が出る前)
- PHP で動いているものを洗い出す
会社サイト(WordPress など)、EC サイト、問い合わせフォーム、社内の業務システム、管理画面つきの製品など。自社で把握していなければ、制作会社・保守会社に聞きましょう。 - それぞれ「誰が更新するのか」を決める
レンタルサーバーなら事業者、保守契約があればその会社、自社管理なら自社です。 - 保守会社・事業者に連絡を入れておく
10/21 23時の公開に合わせた対応をお願いしておくと、公開後すぐに動いてもらえます。 - multipart/form-data の遮断を入れる
上の臨時対応です。インターネットに公開しているものから先に。
修正版が出たら
- インターネットに公開しているものから先に更新し、済んだら臨時の遮断を外す
- PHP 8.1 以前のものは、バージョンアップの計画を立てつつ、それまでの間は外から見えなくする(社内からだけ使えるようにする・一時停止する)、WAF で守るなどを検討する
そのあとも
- 更新が済むまでの間に入られていないか、見慣れないファイルが増えていないかなどを確認してもらう
遠慮はいらん! 今すぐ送れ!
「PHP の脆弱性 CVE-2026-109618 / CVE-2026-109619 について、10月21日 23時(日本時間)に修正版が出る予定と聞いています。弊社の◯◯(サイト名・システム名)は対象になりますか。対象であれば、修正版を当てるまでの臨時対応として multipart/form-data 形式のリクエストの遮断をお願いします。あわせて、更新の予定日と、使っている PHP のバージョンを教えてください。」
PHP のバージョンも必ず聞け! 8.1 以前なら、更新だけでは済まない。古いまま放っておくのは、鍵の壊れたドアを開けっぱなしにしているのと同じだ!
まとめ
- PHP 本体の脆弱性なので、PHP で動いているものは基本的に全部が確認の対象
- 攻撃ツールはすでに出回っていて、サーバーを乗っ取れることも再現されている
- 修正版までは multipart/form-data の遮断でしのぐ(ファイル添付などは止まる)
- 今日のうちに洗い出し・連絡・遮断、出たらすぐ更新。古い PHP は別途、手を打つ
出典
- PHP 公式サイト(2026-10-20 のお知らせ: Advance notice of a critical security release)
- BleepingComputer: PHP warns admins of two critical flaws, emergency patches coming tomorrow
- Sansec: Critical PHP RCE: CVE-2026-109618 and CVE-2026-109619
- Huntress: php2shell, Leaked Critical PHP Vulnerabilities
- watchTowr: PHP Remote Code Execution FAQ