この記事は、2026年10月22日(木)13時20分時点の情報です(最初の公開は6時30分)。状況は数時間おきに変わっているので、新しいことが分かったら書き足し、下の「更新履歴」に残します。

10月21日の夜、ウェブサイトづくりの定番の言語「PHP」に、外部の誰もがサーバーを乗っ取れてしまう深刻な欠陥が2つ見つかり、修正版が出ました。通称は「php2shell」です。修正版が出る前から攻撃の情報が漏れていたため、銀行・ゲーム・ECなどの大きなサイトが、予防のために次々とサービスを止めました。

スマホやパソコンを使うだけの人が、この件で何かを更新する必要はありません。直すのはサイトを動かしている側です。WordPressでブログを持っている人は、WordPressではなくPHPの版が直っているかを確かめます。

ネットで調べた情報をまとめた記事です。公式の発表を優先して確かめましたが、報道どうしで食い違っている所もあり、間違いが含まれている可能性があります。食い違いは「情報が食い違っている所」の節にまとめました。大事な判断の前には、下の「出典」の公式の発表を確かめてください。

広告

要点(10/22 13時20分時点)

  • 見つかったのはPHPの脆弱性2件(CVE-2026-109618とCVE-2026-109619)。深刻度は2件とも10点満点の9.2で、最高に近い
  • IDもパスワードも無しに、外部からサーバーで好きな命令を実行できる(乗っ取れる)おそれがある
  • 修正版は8.5.12・8.4.27・8.3.36・8.2.35。日本時間23時の予定より早い、21時59分ごろに公開された
  • 公開前に情報が漏れ、攻撃の動きも報告されたため、国内外で予防のサービス停止が相次いだ
  • サービスが止まった=被害が出た、ではない
  • WordPress本体の更新は要らない。直すのはPHP。レンタルサーバーなら、基本はサーバー会社が直す
  • 22日の昼までに、主なレンタルサーバーは修正をほぼ当て終えた(エックスサーバー・さくら・mixhost・ヘテムル)。ロリポップ!はまだメンテナンス中、KAGOYAは調整中
  • 一方、22日の日中も、気象庁・マイナンバーカード総合サイト・JR各社など、予防のために止める所が続いている

php2shellとは?PHPに見つかった2つの重大な脆弱性

php2shellは、PHPに見つかった2つの脆弱性と、それを組み合わせてサーバーを乗っ取る攻撃の呼び名です。

名前は「PHP」と、サーバーを操る画面を意味する「shell(シェル)」を合わせたものです。読み方は公式には示されていませんが、英語では数字の2を「to」と読ませる名前が多いので、「ピーエイチピー・トゥー・シェル」と読むのが自然だと思います。

PHPは、アクセスが来るたびにウェブページを組み立てて返すための言語です。WordPressもPHPで書かれています。W3Techsという調査会社が言語を判別できたサイトを数えると、69.3%がPHPでした(10月22日に確認)。

CVE-2026-109618CVE-2026-109619
何が起きるかメモリ切れで処理が止まると、組み立て途中のデータが後片付けで本物として使われる片付け済みのメモリの中身を、次のアクセスが使ってしまう
深刻度(CVSS v4.0)9.29.2
ログインが要るか要らない要らない
特に危ない動かし方mod_php(Apacheに組み込む形)で乗っ取りを確認mod_phpとPHP-FPMの両方で乗っ取りを確認
直った版8.5.12/8.4.27/8.3.36/8.2.35同じ

影響するのは、PHP-FPM・mod_php・php-cgi・FrankenPHP・LiteSpeedなど、ウェブのアクセスを受けて動くPHPのほぼすべてです。発見者は、「Hello World」と表示するだけの小さなプログラムでも影響すると書いています。乗っ取りまで行かなくても、メモリの中のパスワードやAPIキーを読み出せるおそれがあります。

10月21日の夜から22日の昼までに何が起きたか(時系列・日本時間)

一番の特徴は、修正版が出る前に攻撃の情報が漏れていたことです。PHPの開発チームは、詳しい情報が広まったら予定を早めることもあると前もって書いており、実際に予定の23時より1時間ほど早く修正版を出しました。

日時(日本時間)できごと
10月20日海外の研究者がX(旧Twitter)に「php2shell」という名前と攻撃の動画を投稿
10月21日 0時ごろ2件のCVE番号が、間違った公開時刻と間違った深刻度(10.0)つきで、掲示板やSNSに出回る(PHP財団による)
10月21日 1時39分セキュリティ研究者が「修正前に情報が漏れた」と投稿
10月21日 4時25分ごろPHPの開発チームが、21日23時に修正版を出すと予告
10月21日 5時ごろ発見者の会社の1つ(Calif)が、攻撃の試作が動く様子の動画を誤って公開。消されたが写しがSNSに広まり、攻撃コードづくりを早めた(PHP財団による)
10月21日 12時2分Cloudflareによると、この時刻から無料プランも含めて、攻撃を防ぐ設定が自動で有効に
10月21日 14時ごろ国内のセキュリティ会社(GMO Flatt Security)が「攻撃できると主張するコードが出回り始めた」と発信
10月21日 16時エックスサーバーが、予防のため自社サイトと管理画面を止める
10月21日 16時41分事前に修正を受け取っていた配布元の1つ(Chainguard)が、公表の約束より6時間以上早く、修正入りのイメージを公開。PHP財団は「約束を一方的に破った」としている
10月21日 夕方〜夜銀行・自治体・鉄道・ゲームなどが次々と予防の停止(下の節)
10月21日 21時55分首相がXで「今夜に対応して頂きたい大至急のお願い」と呼びかけ
10月21日 21時59分PHPの公式サイトに修正版と詳しい説明が載る
10月21日 22時34分開発チームのGitHubに、2件の詳しい説明が公開される
10月21日 23時ごろウマ娘・グラブルなどのゲームが緊急メンテに入る
10月22日 1時10分エックスサーバーが「8.2〜8.5から順に修正を当て始めた」と発表
10月22日 3時気象庁が、ホームページのうちPHPを使うページ(最新の気象データなど)の閲覧を止める(台風情報は別の仕組みで閲覧できる)
10月22日 6時45分エックスサーバーが「8.2〜8.5は、対象のすべてのサーバーで修正を当て終えた」と発表
10月22日 朝さくらインターネットが「コントロールパネルで選べるすべてのPHPの版で対応を終えた」と発表
10月22日 9時30分エックスサーバーが、管理画面などの提供を再開(各サービスの公式サイトは22日中に再開の予定)
10月22日 10時18分ごろmixhostが、すべてのサーバーで修正を当て終える(PHP 5.2〜8.5)
10月22日 10時30分JPCERT/CCとIPAの脆弱性情報サイト(JVN)に掲載。IPAも22日、対策の注意喚起を出す
10月22日 午前〜昼JR西日本(グループの約60サイト)・JR四国(11時ごろから)・マイナンバーカード総合サイト・福岡県などが、予防のために止める
10月22日 12時18分ヘテムルが、お客さんのサイトの表示やコントロールパネルなどを再開
10月22日 13時19分ロリポップ!は、まだ緊急メンテナンス中(お知らせの「利用できない」一覧に「お客様のサイト」も入っている)

報道の多くは「23時ごろに公開」と書いています。PHPの公式サイトの更新の記録では21時59分、GitHubの公開は22時34分でした。

22日の昼までに、サーバー会社の修正はほぼ終わりました。一方で、自治体や鉄道、官公庁などは、22日に入ってからも予防のために止める所が出ています。読売新聞は、企業の声として「日々対応を進めているが問題が次々と出てくる」と伝えています。

なぜ大手サイトまで一斉に緊急メンテに入ったのか

一言でいうと、「使っているサイトが多い」「誰でも外から乗っ取れる」「直す前に攻撃が始まりかけていた」の3つが重なったからです。

  • 使っているサイトが多い:PHPはウェブの約7割で使われている。WordPress・Laravelなどの有名な仕組みも影響を受ける
  • ログインなしで乗っ取れる:IDやパスワードを知らなくても、アクセスするだけで攻撃が始められる
  • 直す前に情報が漏れた:本来は修正版と同時に公表されるはずだった情報が、半日以上早く出回った。攻撃を見張る会社のwatchTowrは「攻撃を観測した」、Cloudflareは「攻撃の通信を観測した」と書いている
  • 国が「止めることも有効」と言った:首相と国家サイバー統括室が、すぐ直せないなら一時的に止めるのも有効だと呼びかけた。アメリカのCISA(サイバーセキュリティ・社会基盤安全保障庁)も「直せるまでオフラインに」と勧めた
  • 自分のサーバーを持つ会社は自分で直す必要がある:大きなサービスほど自前のサーバーで動いている。修正版を当てて動作を確かめるまでのあいだ、止めるのが一番安全だった

一方で、アメリカのCISAは発表の時点で「悪用された事例は確認していない」としていて、IPA(情報処理推進機構)も事前の注意喚起では「攻撃を確認しているわけではない」と書いていました。「攻撃が観測された」と「被害が確認された」は別です。

止まったと報じられた主なサービス

報道によると、次のようなサービスが10月21日の夕方から22日にかけて、予防のために止まりました。セキュリティの情報をまとめているブログpiyologは、21日の時点で各組織の告知から211の組織を数えています。

分野報じられた主な組織・サービス
ネットサービスpixiv・niconico・DMM.com・コドモン・BASE
ゲームウマ娘・グランブルーファンタジー・シャドウバース・ヘブンバーンズレッド・CHUNITHM
銀行・証券静岡銀行・七十七銀行・北洋銀行・北海道銀行・岩手銀行・大和証券など
鉄道・交通阪急電鉄・京阪・阪神・大阪メトロ・JR西日本・JR四国・JR九州・JR東海(駅の個室ブースの予約)
自治体・官公庁・大学札幌市・福岡県・北九州市・気象庁(一部のページ)・マイナンバーカード総合サイト・龍谷大学など
ネットショップmakeshop・カラーミーショップ・BASE
サーバー会社エックスサーバー・さくらインターネット・GMOペパボ(ロリポップなど)

再開の時期は、各サービスの告知を確かめてください。pixivのように21日のうちに再開した所がある一方、気象庁(22日3時から)やJR四国(22日11時ごろから)のように、22日に入ってから止めた所もあります。マイナンバーカード総合サイトは、再開の時期は未定としています(22日12時台の報道)。

原因は、10年以上前からあったメモリの扱いの欠陥

原因は、PHPがメモリを使い切ったときと、使い終わったメモリを片付けるときの処理にあった欠陥です。発見者によると、この弱点はPHP 5.4(2012年)のころから入っていました。

1つ目(109618)の原因は、メモリを使い切った瞬間に、PHPが処理を放り出して一気に抜け出す作りです。

準備が終わっていないデータが残ったまま後片付けが走り、壊れたままのデータが、まともなデータのふりをして使われます。ファイルを送る欄を大量に空のまま送るなど、小さな送信でもメモリを使い切らせることができました。修正では、この「一気に抜け出す」作りそのものをやめています。

2つ目(109619)は、1回のアクセスのために使ったメモリを片付けたあとも、その場所を指す印が残ってしまう欠陥です。

同じ作業役(ワーカー)が次のアクセスを受けると、片付けたはずの場所を使ってしまいます。ファイルの送信の進み具合を記録する機能(session.upload_progress)は最初からオンになっていて、サイト側が何もしていなくてもこの道が使えました。

なぜ今まで直らなかったのか

発見者の一人であるCalifによると、同じメモリ不足の問題は、2004年・2020年・2024年にも指摘されていました。2024年の外部の監査でも見つかりましたが、「本当に攻撃に使える」ことが示されなかったため、直されなかったといいます。

PHPの開発を支えるPHP財団は、21日の発表で経緯を説明しています。2024年の監査のときに財団の開発者が問題の兆しを見つけ、直し方を何通りも考えましたが、どれも「古いプログラムが動かなくなる」「別の止め方の攻撃を生む」「多くの拡張機能の作り直しが要る」などの難点があり、決めきれないまま、作業が止まっては再開することを数か月繰り返したといいます。

財団はこの遅れを「構造的な失敗だった」と認め、セキュリティの担当が少なく、全員の合意で決める決め方だったことを理由に挙げています。いまは多数決で決められるように変え始めたと書いています(ロイターの「構造的な不備」の報道は、この発表を指していると思われます)。

AIが見つけた脆弱性だった

見つけたのは、AIを使った調査でした。OpenAIによると、セキュリティ会社のCalifがOpenAIのAIを使って見つけ、別の会社のWizも独自に見つけて報告しました。Wizは、GoogleのAI(Gemini)も使ったと書いています。

日付発見と報告の流れ(発見者の発表から)
2026年8月1日Califが最初の弱点を見つける
8月11日〜21日CalifがPHPに報告し、攻撃の試作を共有
8月19日〜24日Wizも見つけて報告
9月21日PHPがWizの報告を受け付けたと確認
10月21日修正版を公開(本来の公表予定は22日だったが、漏えいで早まった)

AIのおかげで見つかるのが早くなった一方、攻撃する側もAIで同じことができるため、直すまでの時間の勝負になっています。

一般の人は何をすればいい?iPhone・YouTubeは大丈夫?

スマホやパソコンを使うだけの人が、この件で更新するものはありません。php2shellは、サイトを動かしているサーバーの側の弱点です。iPhoneやAndroid、Wi-Fiのルーター、アプリを更新しても、この件は変わりません(僕が調べた範囲では、公式の発表で利用者に何かを求めているものは見つかりませんでした)。

  • スマホの電源やWi-Fiを切る必要はない:狙われるのはサイトの側
  • 止まったサービスは、被害が出たから止まったわけではない:読売テレビも「不正アクセスを受けたことや個人情報の流出を意味するわけではない」と伝えている
  • パスワードの変更は、そのサービスが求めたときに:流出などが分かれば、各サービスが告知する
  • 便乗の詐欺メールに注意:「脆弱性の対応でパスワードの再設定が必要」などのメールやSMSが来ても、リンクは押さず、公式アプリや自分で開いた公式サイトから確かめる
  • YouTube・X・iPhoneについて:僕が調べた範囲(10/22 6時台の報道の見出し)では、この件で止まったという報道は見つかりませんでした
広告

WordPressのブログを持っている人がやること

WordPressを更新しても、この件は直りません。WordPressの公式も「WordPressの更新は要らないし、予定もない」と書いています。直すのはPHPなので、自分のサイトのPHPの版を確かめます。

  • 手順1 WordPressの管理画面で「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」を開く
  • 手順2 「PHPバージョン」を見る
  • 手順3 8.5.12・8.4.27・8.3.36・8.2.35以上なら直っている
  • 手順4 それより古い番号でも、直っている場合がある。番号を変えずに修正を当てたサーバー会社があるので、借りているサーバーのお知らせを確かめる(下の表)
  • 手順5 8.1以前を使っている場合は、公式の修正が出ていない。サーバーの管理画面が使えるようになったら、8.2以上に切り替えることを考える(テーマやプラグインが新しい版で動くかを先に確かめる)

レンタルサーバー(共用)なら、PHPを直すのはサーバー会社です。サーバーの管理画面が止まっていても、サイトの表示は続いているのが普通です。

版の番号だけでは判断できない場合があります。mixhostは、修正を「PHPのバージョン番号を変更せずに」当てたので、サイトヘルスに出る番号(例:8.4.26)は直したあとも変わらない、と書いています。ヘテムルも、公式の修正が出ていない古い版に自社で直したものを当てたとし、さくらは「コントロールパネルから選択いただける全てのPHPバージョン」で対応を終えたとしています。番号が古いままでも、借りているサーバー会社が「対応を終えた」と書いていれば、直っています。

僕のサイトで確かめたこと

僕のサイト(このブログ)はエックスサーバーでWordPressを動かしています。10月22日6時11分にサイトヘルスを見ると、PHPは8.3.36になっていました。8月に記録したときは8.3.30だったので、僕は何もしていませんが、エックスサーバーの側で修正版に上がっていました。

このブログのほかに、僕はサブディレクトリ(naokiti3.com/minecraft/など)やサブドメインでも、別々に入れたWordPressを公開しています。

サイトヘルスで3つ(/minecraft/・/game/・サブドメインの1つ)を見ると、どれも同じ8.3.36でした。僕のエックスサーバーで確かめた範囲では、同じドメインの下のWordPressは、別々に入れたものでもまとめて直っていました。

WordPressをいくつも持っている人は、念のため1つずつサイトヘルスで版を見ておくと確実です。あわせて、使っていないサイトや更新の止まったWordPressが残っていないかも、この機会に見ておくと安心です。

レンタルサーバー各社の対応(10/22 13時19分〜13時21分に確かめ直し)

主なレンタルサーバーの公式のお知らせを、原文で読んでまとめました。朝6時ごろは、どの会社もお客さんのサイトは表示したまま、自社のサイトや管理画面を止めて対応する形でした。13時20分ごろには、エックスサーバー・さくら・mixhost・ヘテムルが修正を当て終えたと発表しています。お知らせは数時間おきに更新されているので、最新は各社のページで確かめてください。

サーバーいまの状況お客さんのサイトPHPの修正お知らせの時刻
エックスサーバー(シン・レンタルサーバー、スターサーバー、XServer WPXも同じお知らせ)9時30分、管理画面などの提供を再開(シンクラウドを除く。一部の機能はメンテナンス中)。各サービスの公式サイトは止めたままで、22日中に再開の予定影響なし(表示・メールは通常どおり)8.2〜8.5は対象のすべてのサーバーで修正済み(6時45分)。古い版は、準備と確認ができたものから順に当てている9時30分時点のお知らせ
ロリポップ!まだ緊急メンテナンス中。最新の状況は公式Xでも知らせるとしている13時19分のお知らせでは、「現在利用できません」の一覧に「お客様のサイト」も入っている(朝の時点では入っていなかった)お知らせに版の記載なし時刻の記載なし(13時19分に確認)
ヘテムル【一部完了】12時18分に、サイトの表示・コントロールパネル・FTP・メールなどを再開。13時20分にphpMyAdminも再開。おさいぽ!の自動更新は復旧中12時18分に「閲覧できる状況」に修正済み。8系と7.4は公式の修正、それ以外の版は自社で直したもの。8.1以下では session.upload_progress などの機能が使えなくなったので、自分のサイトが動くか確かめるよう求めている13時20分
mixhost対応完了。マイページの緊急メンテナンスも9時48分に完了影響なし10時18分ごろ、すべてのサーバーで修正済み(PHP 5.2〜8.5)。版の番号は変わらない10時18分
ConoHa WING10/21 19時〜10/22 10時の緊急のサーバーメンテナンスのお知らせ(内容は「システムの保守作業」)。終わったという追記は、このページには無かった一時的につながらない可能性あり(メンテナンス中)記載なし13時19分に確認
さくらのレンタルサーバ対応完了。サーバーのメンテナンスは10/21 22時30分に完了。phpMyAdminとウェブメールは対応中利用者がすぐにやることは無い(公式)コントロールパネルで選べるすべての版で修正済み。新しい版への切り替えも勧めている10/22(時刻の記載なし)
KAGOYAレンタルサーバーの8.2〜8.5系は、修正版への更新を調整中。マネージド専用・共用・WordPress専用サーバーは、対応方針を調整中。被害は確認されていないマネージド専用などは、当面の対策として「サイトの公開停止(メンテナンス画面への切り替え)やアクセス制限」を考えるよう求めている調整中10時35分

ConoHa WINGのお知らせには、PHPの名前は書かれていません。お名前.com・カラフルボックス・バリューサーバー・コアサーバー・ABLENETは、朝6時14分にお知らせの一覧とトップページを見た範囲では、この件のお知らせが見つかりませんでした(13時には見直していません)。

よく似た別の件に注意:同じ時期に「Linuxカーネルの脆弱性(CVE-2026-99999)」のお知らせが、ConoHa・さくら・KAGOYA・ABLENETに出ています。PHPの件とは別のものです。

VPS・自分でサーバーを管理している人がやること

VPSや自分で建てたサーバーは、自分で直す必要があります。PHPの開発チームによると、Linuxの配布元(ディストリビューション)には事前に修正が渡されています。

  • 手順1 PHPを8.5.12・8.4.27・8.3.36・8.2.35に上げる(配布元のパッケージを使っている人は、その更新を当てる)
  • 手順2 Apache・PHP-FPMなど、PHPを動かしているものをすべて再起動する
  • 手順3 8.1以前は、PHPの開発チームとしては直さない。7.4・8.0・8.1については、必要な所だけを直したソースが出ているので、配布元や延長サポートの会社に確かめるか、8.2以上に上げる

PHPの公式によると、更新のほかに完全な対策はありません。すぐ更新できないあいだの、攻撃の道を減らすための設定も示されています。

対象すぐ更新できないあいだの設定(公式の案内)
109618memory_limitを -1 にする(アプリから変えられない形で)。post_max_sizeを小さく(アップロードが無ければ8M、あれば32M)
109619session.upload_progress.enabledを 0 にして、すべてのワーカーを再起動(ini_setや .user.iniでは効かない)
PHP 8.5fatal_error_backtracesを 0 にする
やってはいけないRLIMIT_AS・RLIMIT_DATAでメモリを制限する(かえって弱点の道に入る)

発見者は、攻撃の痕跡の手がかりとして「異常に大きい、または形の崩れたPHPSESSIDのCookie」「ファイル送信のあとのメモリ上限のエラーや、繰り返す500エラー」を挙げています。ただし、痕跡が無いことは安全の証明にはならないとしています。

情報が食い違っている所

ネットの情報は、まだ食い違っている所があります。この記事では、公式の記録を優先して書きました。

  • 修正版が出た時刻:PHPの公式サイトの更新の記録は21時59分、GitHubは22時34分。ロイターは22時45分ごろ、多くの報道やサーバー会社は「23時ごろ」と書いている
  • 影響する版:公式の説明が対象として書いているのは8.2〜8.5。発見者は「5.4以降すべて」と書いていて、公開前の注意喚起には「PHP 5以降」と書いたものもある
  • 攻撃されたか:watchTowrとCloudflareは「観測した」、CISA(発表の時点)とIPA(事前の注意喚起)は「確認していない」
  • PHPを使っているサイトの割合:W3Techsのページは69.3%、報道は「7割近く」「約75%」とまちまち
  • 名前を付けたのは誰か:Wizは「自分たちが付けた」と書き、別の会社はCalifの道具の名前として紹介している
  • 「AIで15分で攻撃コードが作られる」という話:元とされる会社の今回のページには、その文は見つからなかった
  • 「AIを使った1人の研究者が1週間で見つけた」という報道:発見者の発表の原文では確かめられなかった

よくある質問

php2shellの読み方は?

公式の読み方は示されていませんが、「ピーエイチピー・トゥー・シェル」と読むのが自然だと思います。「PHPからshell(サーバーを操る画面)を取る」という意味の呼び名です。

自分のスマホやパソコンで何かする必要はある?

この件では、ありません。直すのはサイトを動かしているサーバーです。便乗の詐欺メールにだけ気をつけてください。

サービスが止まったのは、情報が漏れたから?

予防のために止めたところがほとんどです。エックスサーバーやmixhostは「不正アクセスがあったためではない」とはっきり書いています。

WordPressは更新したほうがいい?

この件ではWordPressの更新は要りません。サイトヘルスでPHPの版を見て、8.2.35・8.3.36・8.4.27・8.5.12以上かを確かめてください。

いつ元に戻る?

サービスごとに違います。サーバー会社の多くは22日の昼までに修正を当て終えましたが、銀行・自治体・鉄道などは22日の日中も止めている所があります。各サービスの公式の告知を確かめてください。

WordPressの管理画面で困ったときの記事

WordPressの管理画面では、ほかにも「投稿一覧のタイトルが縦書きになる」問題を自分のサイトで直したことがあります。

更新履歴

  • 2026年10月22日 13時30分:レンタルサーバー各社の修正完了と再開、22日に止まった官公庁・鉄道、PHP財団の経緯の説明、JVN・IPAの注意喚起を足し、時系列を22日の昼まで延ばしました。サイトヘルスの版の番号が変わらないサーバー会社があることも足しました
  • 2026年10月22日 7時20分:「僕のサイトで確かめたこと」を書き直し、サブディレクトリやサブドメインのWordPressのPHPの版を足しました
  • 2026年10月22日 6時30分:公開(情報は6時30分時点)

出典

広告