「同じような穴はまだ出てくる」。Cloudflare CEOの予告と、修正版でも残っていたPHPの小さな穴

PHPの脆弱性で事前の防御に加わったCloudflareのCEOが、別のソフトでも同様の深刻な脆弱性が公表されると予告しました。PHPでは修正版にも条件付きで残る穴が見つかっています。やることは「更新を習慣にする」ことです。

この記事の結論

  1. CloudflareのCEOが、今後別のソフトでも同様の深刻な脆弱性が公表されると予告した(日本経済新聞の取材)
  2. Cloudflareは公表の約9時間前に防御を配っていた。それでも「PHPの更新はしてほしい」と書いている
  3. PHPでは、10月23日に修正版にも条件付きで残る穴が案内された。該当する組み合わせは珍しいが、対策は1行で済む
  • CloudflareのCEOが、今後別のソフトでも同様の深刻な脆弱性が公表されると予告した(日本経済新聞の取材)
  • Cloudflareは公表の約9時間前に防御を配っていた。それでも「PHPの更新はしてほしい」と書いている
  • PHPでは、10月23日に修正版にも条件付きで残る穴が案内された。該当する組み合わせは珍しいが、対策は1行で済む

日本経済新聞によると、PHPの脆弱性で米OpenAIとともに事前の対策にあたった米Cloudflareのマシュー・プリンスCEOが23日に取材に応じ、今後別のソフトで「同様の深刻な脆弱性が公表される」と予告した。

Cloudflareは、世界中のサイトの手前に立って通信を中継し、攻撃を防ぐ会社だ。世界のサイト訪問の約2割が同社の網を通るとされる。

この予告を、怖い話としてではなく「準備の話」として読みたい。今週このサイトで追ってきたPHPの件と、Cloudflare自身の公表、PHP公式の追加の案内から整理する。

Cloudflareは何をしていたか

Cloudflareは10月21日、自社のブログで経緯を公表している。

  • 10月上旬から、PHPの穴を狙う通信を止める仕組み(WAFのルール)を作っていた
  • 公表の約9時間前に配り始め、10月21日3時2分(協定世界時)から、無料プランを含むWAFの利用者は初期設定のまま守られる状態になった
  • 穴の情報は正式な公表日より前に漏れていて、利用者を狙う攻撃の通信も観測した
  • 攻撃者は、防御をすり抜けるために攻撃の中身を少しずつ変えて試してきた

「行き」だけでなく「帰り」も見る

今回、Cloudflareは新しい仕組みを入れている。

ふつうのWAFは、サイトに届く通信(リクエスト)だけを見て判断する。だが今回の攻撃は、届く通信だけでは正常なものと見分けにくいことがあった。

そこで、サイトから返ってくる応答もあわせて見て、攻撃が成功したらしい応答なら相手に届く前に止めるようにした。同社はこれを「full transaction detection」と呼び、今回の防御が最初の適用例だとしている。

それでも「更新はしてほしい」

Cloudflareのブログは、はっきり書いている。趣旨は次のとおりだ(筆者による要約)。

WAFによる保護は追加の防御層であり、PHPそのものの更新はしてほしい。更新の間も、WAFの保護は有効にしておくこと。

WAFは時間を稼ぐもので、穴をふさぐものではない。それに、Cloudflareを通っていない通信には効かない。

SPONSORED

修正版にも残っていた、小さな穴

Cloudflareのブログには、10月23日付の追記がある。PHPの公式サイトにも同じ日に「参考としての案内(Informational advisory)」が出た。

内容はこうだ。

  • ファイル送信の進み具合を記録する機能(session upload progress)に関連する穴がある。番号はCVE-2026-115560
  • 21日の修正版(8.5.12など)を入れていても、条件がそろえば残る
  • 本格的な修正は次の定期リリースで行い、詳しい内容もそのときに公表する

当てはまるのは、珍しい組み合わせだけ

PHP公式によると、起きるのは次のすべてがそろったときだ。

  1. 設定ファイルで、セッションの保存形式(session.serialize_handler)を php_binary か php_serialize にしている
  2. プログラムの中で、セッションを始める前に、それを ini_set() で php に切り替えている
  3. ファイル送信の進み具合を記録する機能が有効のまま

PHP公式自身が「実際にはありそうにない組み合わせ」としていて、だから臨時ではなく定期のリリースで直すと説明している。保存形式を途中で切り替えないアプリは、そのままでよい。

対策は1行

心配なら、次の定期リリースまで設定でこの機能を切っておく。

session.upload_progress.enabled = 0

これは21日の発表(CVE-2026-109619)でも緩和策としてすでに挙がっていた設定だ。そのとき入れた人は、そのままにしておけば追加の対応は要らない。

この機能は、大きなファイルを送るときに進み具合のバーを出すためのものだ。使っていないサイトも多い。切る前に、自分のサイトで使っていないかは確かめておきたい。

なお、Cloudflareは、WAFの既存のルールでこの穴を狙う既知の攻撃も防げるとしている。ただし、機能の項目名(session.upload_progress.name)を初期値から変えているサイトは対象外だという。

なぜ「まだ出てくる」のか

プリンスCEOの予告は、今週の流れと合っている。

見つける速さが上がれば、更新の回数が増える。それ自体は悪いことではない。直す機会が増えるということだ。

問題は、更新が「事件」のたびに慌てて行う作業になっていることだ。日経は別の記事で、PHPを使うサイトの半分はバージョンが古くサポートが切れていて、修正が難しいとも報じている。

「事件」から「習慣」へ

次が来たときに慌てないために、今のうちに決めておけることがある。

  1. 誰が更新するかを決める。レンタルサーバーなら、PHPを上げるのは提供元か自分か。提供元の告知をどこで見るかも決めておく
  2. 使っているものの一覧を持つ。言語(PHP、Ruby、Node.jsなど)と、そのバージョン。CMSとプラグインも
  3. サポートが切れた版をなくす。サポート切れの版には、そもそも修正が出ない
  4. 入口に防御を1枚置く。CloudflareのようなWAFは無料プランでも今回のルールが入った。更新までの時間稼ぎとして役に立つ
  5. 一次情報の置き場所を覚える。php.net、ruby-lang.org、使っているサービスの公式ブログ。報道より先に、そこに出る

自分のサイトのPHPが外からどう見えるかは、このサイトの簡易PHP診断で目安を出せる。今回のCVE-2026-115560は設定の組み合わせの問題なので、外からは判定できない点には注意してほしい。

まとめ

  • Cloudflare CEOは、別のソフトでも同様の深刻な脆弱性が公表されると予告(日経の取材)
  • Cloudflareは公表の約9時間前に防御を配布。応答まで見て止める新しい仕組みを使った。それでもPHPの更新は必要
  • PHPは10月23日、修正版にも条件付きで残る穴(CVE-2026-115560)を案内。該当は珍しい組み合わせだけ
  • 心配なら session.upload_progress.enabled = 0。21日に入れた人は追加対応なし
  • 更新を「事件」から「習慣」にする。担当、一覧、サポート切れの解消、入口の防御
SPONSORED

出典

本記事は2026年10月24日時点の公式発表と報道に基づく。CVE-2026-115560 の詳しい内容は、PHPの次の定期リリースで公表される予定であり、本記事の説明はそれまでの案内の範囲にとどまる。設定の変更は、自分のサイトでその機能を使っていないかを確かめてから行うこと。

新しい記事が出たら、ブラウザの通知でお知らせします。

メールアドレスの登録は要りません。いつでも止められます。

AUTHOR

北海道のWEB屋

北海道を拠点に、Web業界14年・サポート実績1,000件以上。WordPressの復旧、サーバー移転、独自ドメインとメールの設定、PHP・JavaScriptの修正まで対応します。相談と見積もりは無料です。

SPONSORED

関連記事

RELATED