2026年10月21日、PHP 本体の重大な脆弱性2件(通称 PHP2Shell)の修正版が公開されました。日本では23時の公開予定に合わせて、少なくとも211の組織がサイトやアプリを止めています。パブリッシャーにとっては、止めれば広告収益がゼロ、止めなければ乗っ取りと不正広告の危険、という二択の夜でした(2026年10月22日午前時点の公開情報で整理)。
| 3行でわかるPHP2Shellの夜 |
| [1] 何が起きた PHP本体の脆弱性2件(CVSS 9.2)の修正版が公開。漏えいで1日前倒し [2] 日本の反応 少なくとも211組織が予防停止。放送・新聞は2組織、大手ITニュースは止めず報道 [3] 分かれ目 止めるかより事前の備え(CDN・WAF、マネージドホスティング、止め方の手順) |
関連記事
・AIがパブリッシャーの収益構造を変える – Amazon・MSのコンテンツマーケットプレイスとスクレイピング問題の最前線
・Prebid Sales Agentが登場:パブリッシャー向けAIエージェントで広告収益は変わるのか
・Googleの生成AI検索ガイドを読む:パブリッシャーが今やるべき6つのこと
目次
PHP2Shell は、PHP 本体のメモリ管理とエラー処理にある2件の脆弱性(CVE-2026-109618、CVE-2026-109619)の通称です。ログイン不要の外部リクエストで、サーバー上のコードを実行される恐れがあります。
| PHP2Shell 基本情報 | |
| 深刻度 CVSS v4.0 9.2 | 攻撃条件 ログイン不要で外部からコード実行の恐れ |
| 修正版 8.5.12 / 8.4.27 8.3.36 / 8.2.35 | 影響範囲 PHP使用サイトは約70% (Cloudflare、W3Techs) |
| WordPress・プラグインの更新では直らない(原因はPHP本体) | |
| 出典: php.net、Cloudflare | |
厄介なのは、WordPress やプラグインを最新にしても防げない点です。原因は PHP の実行環境にあると Cloudflare も Automattic も明言しています。報告者の Wiz は、最新の WordPress、Drupal、Joomla で攻撃を実証しました。
予定の公開日は2026年10月22日でした。前日に CVE 番号が漏れ、すべてが1日前倒しになります。
| 漏えいから攻撃観測まで、24時間の時系列 | ||
| 10/21 0:00ごろ UTC 10/20 15:00ごろ | CVE 番号2件がネットに出回る(誤った公開時刻と CVSS 10.0 付き) | |
| 10/21 3:26 UTC 10/20 18:26 | watchTowr が「漏えいした脆弱性は実在する」と X に投稿 | |
| 10/21 4:30 UTC 10/20 19:30 | PHP が事前告知。公開を10/22から10/21 14:00(協定世界時)に前倒し | |
| 10/21 5:00ごろ UTC 10/20 20:00ごろ | 報告企業 Calif が攻撃実証の動画を誤って公開し、削除後も拡散 | |
| 10/21 12:02 UTC 10/21 3:02 | Cloudflare の WAF が無料プランを含めて既定で防御を開始 | |
| 10/21 15:50 UTC 10/21 6:50 | BASE がメンテナンス入り | |
| 10/21 16:41 UTC 10/21 7:41 | Chainguard が独断で修正入りのイメージを公開(エンバーゴ破り) | |
| 10/21 16:43 UTC 10/21 7:43 | Cloudflare の CTO が「早期の攻撃が出始めている」と投稿 | |
| 10/21 19:00 UTC 10/21 10:00 | ニコニコがメンテナンス開始 | |
| 10/21 21:55 UTC 10/21 12:55 | 高市首相が X で準備と一時停止の検討を呼びかけ | |
| 10/21 22:34 UTC 10/21 13:34 | GitHub のアドバイザリ2件が公開(予告の23時より前) | |
| 10/21 23:37 UTC 10/21 14:37 | 国内のあるサービスの WAF ログに、攻撃とみられる POST が届く | |
| 赤: 漏えい・攻撃 青: 防御 オレンジ: サービス停止 緑: 公式の告知・公開 | ||
| 出典は PHP Foundation、piyolog、Cloudflare、GIGAZINE、Qiita の各記事(末尾の参考記事を参照)。 | ||
時系列から読めるのは次の2点です。
猶予は数時間でなく数十分だったと筆者は見ています。止めるかどうかを23時を見てから決めていたら、間に合わなかったはずです。
セキュリティブロガーの piyokango 氏が、各組織の告知から数えた業種別の内訳です。
| サイトやアプリを止めた国内211組織の業種別内訳 | ||
| その他の企業 | | 38 |
| 芸能、音楽 | | 33 |
| ホスティング、ITサービス | | 29 |
| ゲーム | | 28 |
| EC、チケット、予約 | | 26 |
| 動画、配信、電子書籍、出版 | | 18 |
| 団体 | | 12 |
| 大学、研究機関、学校 | | 9 |
| 金融機関 | | 7 |
| 自治体 | | 4 |
| 交通、インフラ | | 3 |
| 国の機関 | | 2 |
| 放送、新聞 | | 2 |
| オレンジ: パブリッシャーに近い業種(放送・新聞、動画・配信・電子書籍・出版) | ||
| 出典: piyolog(2026年10月22日1時台までの告知を集計) | ||
放送・新聞は RKK熊本放送と福島中央テレビの2組織だけ。出版・Web メディアでは、アルファポリス、ログミーBusiness、PLANETS、トレカプロ、釣りペディアなどが止めました。全国紙と大手 IT ニュースサイトは一覧になく、GIGAZINE や Impress Watch は夜通し速報を更新し続けています。
止めた媒体は、停止中の広告インプレッションをすべて失う代わりに、修正を当て終えるまで攻撃を受けない確実さを取りました。BASE は15時50分から翌朝7時まで、ニコニコは19時から終了未定で止めています。乗っ取られた媒体は不正な広告やリダイレクトの発生源になりかねず、PPC Land は侵害された PHP サーバーを広告主にとっての供給側の問題だと指摘しています。
止めずに乗り切った側には、3つの型がありました。
| 止めずに乗り切った3つの型 |
| 型1 CDN・WAFを前に置く Cloudflareは日本時間12時02分から無料プランでも既定で防御。ただし同社も暫定措置と明言、オリジン直通は守れない 型2 マネージドホスティングに任せる Automatticは WordPress.com、WordPress VIPなどを「保護済み、利用者の作業なし」と発表 型3 設定で穴をふさぐ 修正版の出ないPHP 7.4の本番を、WAFでmultipart遮断+session.upload_progress.enabled=0で守った例(Qiita) |
| 出典: Cloudflare、Automattic、Qiita |
止める側にも落とし穴が2つありました。1つはメンテナンスモードです。WordPress 保守の Webの相談所によると、プラグインのメンテナンス画面では PHP2Shell を防げません。画面を出す時点で PHP がもう動いているためです。もう1つは止め方です。`.htaccess` で403を返すと、Google 検索セントラルの案内では検索結果から URL が消える恐れがあります。1〜2日の緊急停止で勧められているのは503で、robots.txt は503にしません。
| どこで止めればPHP2Shellを防げるか | ||||||
| ここで止める=安全(WebサーバーかCDNで503) | ||||||
| ①サーバーが アクセスを受ける | ▶ | ②PHPが起動 (攻撃が成立しうる) | ▶ | ③WordPress 読み込み | ▶ | ④メンテナンス 画面を表示 |
| メンテナンスモード=防げない | ||||||
| 403で止める → 検索結果からURLが消える恐れ |
| 503+情報ページ、robots.txtは503にしない → Google推奨(1〜2日の緊急停止) |
| 出典: Webの相談所、Google 検索セントラル |
| 比較項目 | 止めた媒体 | 止めなかった媒体 |
|---|---|---|
| 広告収益 | 停止時間帯はゼロ | 維持 |
| 侵害リスク | 停止中はほぼなし(PHP の手前で止めた場合) | WAF と設定の精度しだい |
| 必要な準備 | 止め方の手順(503・robots.txt) | CDN・WAF の前段、またはマネージドホスティング |
| 落とし穴 | メンテナンスモードでは防げない、403は検索に響く | WAF を迂回する経路、ルールの設定ミス |
明暗を分けたのは、止めるかどうかの判断より事前の備えだった、というのが筆者の見立てです。前段の防御があれば止めずに済み、なければ止めるしかなかった。大手 IT ニュースサイトが止めず、止めた側に中小媒体が多かった構図も、この差を映していると考えます。
欧州では、政府機関が自分のサイトを先に止めました(ロイターのまとめ)。オランダは NCSC-NL が自組織のサイトを止め、ロッテルダム港や主要5政党、多数の病院が続きます。ドイツの ITZBund、フィンランドの Valtori、フランス内務省、チェコ政府、英国の自治体やロンドン警視庁、ウィキメディア財団も一部を止めました。英国 NCSC と CERT-EU の勧告は「更新、だめなら暫定策、それも無理なら停止を検討」という段階式です。
日本の停止は民間に広がり、211組織のうち国と自治体は6だけでした。首相と国家サイバー統括室が一時停止も有効策の一つと発信したことで、止める心理的なハードルが下がったと筆者は見ています。
もう1つの差が時差です。
| 修正版公開予定14:00 UTCは各地で何時か | ||
| 英国 15時 業務時間中 | 米東部 10時 業務時間中 | 日本 23時 夜通しの作業 |
| 日本の停止開始: 15時50分(BASE)、19時(ニコニコ)、22時(Cygamesの一部ゲーム) | ||
| 出典: Insurance Business、GIGAZINE | ||
| 比較項目 | 日本 | 欧州 |
|---|---|---|
| 停止の主体 | 民間が中心(211組織中、国と自治体は6) | 政府機関や公共機関が中心 |
| 当局の発信 | 国家サイバー統括室と首相が X で準備と一時停止を呼びかけ | NCSC、CERT-EU が更新、暫定策、停止の順で勧告 |
| 修正版公開の現地時刻 | 23時(夜通しの作業) | 15〜16時(業務時間中) |
| 停止開始の時刻 | 15時台〜23時に集中 | 日中から夜 |
速さの差は、国よりインフラ事業者の差に出ました。Cloudflare は公開前に全顧客へ防御を展開し、Automattic は WordPress.com や WordPress VIP のサイトを当日中に保護済みと発表、Debian や Ubuntu も当日に修正済みパッケージを出しています。
CVE 番号の漏えいから公開予定時刻まで約23時間、公式告知から攻撃とみられる通信まで37分。次に同じ規模の脆弱性が出たら、ゼロから考えていては間に合いません。今のうちに決めておきたいのは次の4つです。
| 次に備える4つ | |
| ①止める基準 何時間の停止なら受け入れるか、平時に合意 | ②止め方の手順 PHPの手前で503、robots.txtは503にしない |
| ③前段の防御 CDN・WAFは一晩分の広告収益の保険 | ④広告パートナーへの連絡 停止も侵害もSSP・広告主に伝える手順 |
備えに見合っていれば、止めた判断も止めなかった判断も正解だったと筆者は考えます。危ういのは、備えがないまま止めなかった媒体と、メンテナンスモードで止めたつもりになっていた媒体です。PHP2Shell は侵害がなくてもメモリからパスワードや API キーを読み出される恐れがあるため、修正後に認証情報を入れ替えることも検討に値します。