10月21日の夜、pixivやニコニコ、銀行のネットサービスまでが次々と緊急メンテナンスに入り、翌朝には「阿部寛のホームページ」まで一時見られなくなりました。きっかけは、使われている言語がわかるウェブサイトの約7割が使うプログラム言語PHPに見つかった重大な弱点です。何が起きたのか、私たちは何をすればいいのかを、要点だけまとめます。

30秒でわかる要点
  • ウェブの裏側で動くプログラム言語PHPに、ログインなしで外からサーバー上で不正なプログラムを動かされるおそれのある穴が2つ見つかった(通称PHP2Shell、2件とも深刻度は10点満点の9.2)
  • 修正版は10月21日(予告は日本時間23時)に公開。その前後にpixiv・ニコニコ、銀行や鉄道会社のネットサービス、首相のホームページなどが一時停止
  • 穴を見つけたのはAIを使った研究者。ふつうの利用者がPHPを更新する必要はなく、対応するのはサイトやサーバーの運営側
この記事は10月22日夕方時点の報道と公式発表をもとにしています。各サービスの再開状況は公式のお知らせで確かめてください。

何が起きた?発見から公開までの約2か月

実は穴が見つかったのは8月。それから2か月、PHPの開発チームと研究者、大手IT企業が悪用されないよう非公開で修正と公開の時期を調整し、10月21日に一斉に公開しました。

  1. 8月19日セキュリティ会社Wiz(Google傘下)の研究者が、AIを使って最初の穴を発見
  2. 8月24日WizがPHPのセキュリティチームに報告
  3. 9月21日PHP側が報告を受理。関係者と調整しながら、非公開で修正を進める
  4. 10月17日Amazonの「おとりサーバー(ハニーポット)」に、この穴を狙った攻撃の試みがすでに届く(公開の4日前)
  5. 10月20日PHPが「特別な修正版を出す」と予告。番号(CVE)が出回り始める
  6. 21日
    午後〜夜
    BASE、コドモン、pixiv、ニコニコ、ゲーム、銀行などが次々と緊急メンテへ
  7. 21日夜高市首相がXで「今夜に対応して頂きたい大至急のお願い」。すぐ直せないならサイトの一時停止も有効、と呼びかけ
  8. 21日
    23時予定
    PHPが修正版を公開(予告は協定世界時の14時=日本時間23時)
  9. 22日「阿部寛のホームページ」も置き場所のサービスのメンテナンスで一時見られなくなり、Xでトレンド入り。首相や閣僚のホームページも停止。サービスは順次再開へ

政府は、今のところ被害の報告はないとしています。多くの会社は、安全のための予防的な停止と説明しています。修正版と技術情報が公開されたあと、悪用の試みが増えることも警戒されていました。ただし、すべてのサービスについて攻撃や被害の有無がはっきりしたわけではありません。

PHP2Shellとは?わかりやすく

PHPは、ウェブサイトの裏側(サーバー)で動くプログラム言語です。ブログを表示したり、ログインやショッピングの処理をしたりするのに使われ、WordPressもPHPで作られています。

69.3%PHPを使う
サイトの割合※
9.22件とも深刻度
(CVSS・10点満点)
5.4〜影響は2012年の
PHP 5.4から
※W3Techs調べ。サーバー側の言語がわかるウェブサイトのうち、PHPを使っている割合です。

今回の穴は2つ(番号はCVE-2026-109618とCVE-2026-109619)。研究者たちからは通称PHP2Shell(ピー・エイチ・ピー・トゥー・シェル)と呼ばれています。Shell(シェル)はコンピューターに命令を打ちこむ窓口のことで、「PHP to shell」=PHPの穴を足がかりに、サーバー上で命令を実行できるところまで行けるという意味の名前です。2021年に世界中を騒がせた「Log4Shell」と同じ名づけ方です。

たとえるなら…(しくみのイメージ)
  1. サーバーは、同じテーブルを次々とお客さんが使うレストランのようなもの(お客さん=アクセス)
  2. あるお客さんが食事の途中で倒れる(メモリ不足のエラー)と、片付けが中途半端になる
  3. テーブルに前のお客さんの伝票やカギが残ったまま、次のお客さんが座る
  4. 悪い客はわざと「倒れる」ように仕向け、残ったカギを使って厨房(サーバーの中)で勝手なことをする

実際の中身は「メモリ不足のときの後始末の不備」と「前のアクセスで使ったメモリを解放したあとも、それを指す内部情報が残り、同じワーカー(処理係)が次のアクセスで誤って使ってしまう不具合」です。Wizは、検証した時点の「latest」タグのコンテナイメージで動かしたWordPress・Drupal・Joomlaの環境で、ログインなしに不正なプログラムを動かせることを確かめています。成功すると、情報を盗まれたりサイトを書きかえられたりするおそれがあります。

どのバージョンが危ない?

PHPのバージョン どうなる?
8.5 / 8.4 / 8.3 / 8.2 修正版あり:それぞれ 8.5.12/8.4.27/8.3.36/8.2.35 以降へ
7.4〜8.1 PHPからの新しい正式版はなし(最小限の修正コードは公開)。OSやサーバー会社の修正版を確認し、サポート中の版へ
5.4〜7.3 サポート終了。PHPからの修正なし → サポート中の版へ
PHPを使うサイトのバージョン内訳(W3Techs、10月)
PHP 8系65.2%
PHP 7系(サポート終了)27.0%
PHP 5系(サポート終了)7.7%
5系と7系だけで約35%。8系のうち8.0・8.1もサポートが終わっているので、古い版のままのサイトは実際にはもっと多いことになります。

なぜここまで大騒ぎになった?3つの理由

理由1ログインなし・外から
パスワードはいらず、細工した通信をネットごしに送ることで攻撃できるおそれがありました(成功にはいくつか条件があります)。特に「mod_php」というApacheの使い方では、サイト側のプログラムが動く前に攻撃が始まることが確かめられ、最も危険とされています。
理由2ほぼすべてのPHPサイトが対象
WordPressやDrupalなど特定のソフトの穴ではなく、PHPそのものの穴です。WordPress側も「WordPressだけの問題ではない。サーバーを更新してほしい」と呼びかけています。
理由3公開前から攻撃の試み
Amazonは公開の4日前に攻撃の試みを観測し、21日以降は広く攻撃が試みられていると報告しました(その試みが実際に成功したかは不明)。攻撃者がどうやって情報を得たのかはわかっていません。米国家安全保障局(NSA)は「すぐ直せないサイトは、直せるまでネットから外すべき」とまで警告しました。

止まったサービス一覧(報道ベース)

21日の午後から22日にかけて、全部または一部を止めたと報じられた主なサービスです。各社が理由として「PHP」とはっきり書いているとは限りません。銀行や鉄道はウェブサイトや一部のネットサービスの停止で、お金のやりとりや列車の運行そのものが止まったわけではありません。

ネットショップ・決済BASE
保育・子育てコドモン
イラスト・動画pixiv(BOOTH)、ニコニコ、DMM.com
ゲームウマ娘、グランブルーファンタジー(Cygames)など
銀行・鉄道静岡銀行、阪急電鉄のウェブ・ネットサービスの一部
行政マイナンバーカード総合サイト、財務省の一部コンテンツ
レンタルサーバーさくらインターネット、XServer、GMOペパボ、@nifty ホームページサービス
政治家高市首相、小林政調会長、片山財務相のホームページ

pixiv・BOOTHは夜のうちに作業を終え、ニコニコも予防のメンテナンスから復旧したと報じられています。

なぜ「阿部寛のホームページ」まで?

「阿部寛のホームページ」は、とにかく表示が速いことで有名なシンプルなサイト。ネットの速さを試すときに開く人もいるほどで、「あそこが見られないなら回線の問題」と言われてきました。

そのサイトが22日朝、「緊急メンテナンス」の表示に。サイトが置かれている「@nifty ホームページサービス」が、PHPの穴に対応するため21日夜から緊急メンテナンスに入ったためとみられます。阿部寛さんのサイト自体に穴があったと確認されたわけではなく、置き場所のサービス全体の点検で一時的に見られなくなったとみられます。Xでは「静的HTMLに戻ろう」といった、驚きと笑いまじりの投稿も話題になりました。

見つけたのはAI?10年以上残っていた穴

AIロボットがプログラムの奥深くで長年隠れていた古い穴を見つけるイメージ

今回の穴は、AIを使った研究で見つかりました。

だれ 使ったAI
Wiz(Google傘下) Wiz Atlas、Gemini 4 Argon、GPT-5.6 Sol
Calif(OpenAIの「Patch the Planet」に参加) GPT-5.6 Sol

影響は少なくとも2012年に出たPHP 5.4までさかのぼり、ここ10年に出たPHPはすべて、どちらかの穴の影響を受けるとされています。長年使われ、多くの技術者が調べてきたコードに、問題が公に直されないまま10年以上残っていたことになります。

Wizは「以前なら一流チームが何か月もかかった仕事を、1人の研究者が1週間でやり終えた」と書いています。AIは守る側の研究を速める一方、攻撃コードづくりにも使われうるとWizは注意しています。今回の発見は、その両面を改めて意識させるものになりました。

私たちは何をすればいい?

利用者ふつうにサービスを使っている人
  • PHPを自分で更新する必要はありません。メンテナンス明けを待ちましょう
  • 騒ぎに便乗した「脆弱性対応のためパスワードを再設定して」のようなメールやSMSに注意。リンクは開かず、公式アプリやブックマークから確かめる
  • あとで使っているサービスから正式なお知らせ(パスワード変更のお願いなど)が出たら、それに従う
運営者ブログやサイトを持っている人
  • WordPressなら管理画面の「ツール」→「サイトヘルス」→「情報」→「サーバー」でPHPのバージョンを確認
  • PHP 8.2〜8.5なら、同じ系列の 8.2.35/8.3.36/8.4.27/8.5.12 以降へ。レンタルサーバーやOSの修正版は番号が違うこともあるので、会社のお知らせを確認(会社側で対応済みのことも多い)
  • WordPressやプラグインの更新では直りません。直すのはサーバーのPHP本体
  • PHP 8.1以前なら、上の4つに当てはまる修正版はありません。サーバー会社やOSの修正版を確かめ、サイトが動くか確認したうえでサポート中の版へ移る。すぐ無理なら一時的にサイトを止めるのも手
  • Amazonは「調べるなら公開日ではなく10月17日から」とすすめている。アクセス記録におかしな点がないか確認

ニュースの英語で読んでみよう

海外ではこのニュースが「PHP Armageddon(PHPハルマゲドン)」という見出しで報じられるほどの大騒ぎに。英語ニュースによく出る単語をおさえておくと、IT系のニュースがぐっと読みやすくなります。

vulnerability脆弱性・弱点ラテン語の vulnus(傷)から。vulnerable=「傷つきやすい」
flaw欠陥vulnerability の言いかえとして見出しで大人気。短いから
patch修正プログラム/修正するもとは服の穴をふさぐ「当て布」。穴をふさぐイメージそのもの
exploit悪用する/攻撃コード一般的な名詞では「手柄・偉業」。動詞は「利用する・不当に利用する」。セキュリティでは穴をつく攻撃手法やコードのこと
remote code execution遠隔からのコード実行略して RCE。外から好きなプログラムを動かされる、いちばん怖いタイプ
unauthenticatedログイン(認証)なしでauthenticate=本人確認する。un- がついて「本人確認なしの」
in the wild実際の攻撃として直訳は「野生で」。研究室の中ではなく、現実のネットで攻撃が出回っていること
as a precaution予防措置として・念のため日本の多くの会社が説明した停止の理由がこれ

例文で読む

PHP has patched two critical vulnerabilities that could let attackers run malicious code on web servers.PHPは、攻撃者にウェブサーバー上で悪意のあるコードを実行されるおそれのある、2つの重大な脆弱性を修正した。
The flaws can be exploited remotely without authentication.これらの欠陥は、認証なしで遠隔から悪用される可能性がある。
Many Japanese services went offline as a precaution.多くの日本のサービスが、予防措置としてオフラインになった。
Exploitation attempts were seen in the wild before the patch was released.修正版の公開前から、実際の攻撃の試みが確認されていた。
If you can’t patch right away, take your site offline.すぐに修正できないなら、サイトをネットから外しなさい。

ミニクイズ(全4問)

Q1. in the wild の、このニュースでの意味は?
in the wild は「研究室の外の、現実の世界で」。exploitation attempts in the wild=現実のネットで見つかった攻撃の試み。
Q2. patch のもとの意味は?
服の穴をふさぐ当て布。ソフトの「穴」をふさぐ修正プログラムも patch。
Q3. The site went offline as a precaution. の意味は?
as a precaution=「念のため・予防措置として」。この文だけでは、攻撃があったかどうかまではわかりません。
Q4. 一般的な名詞の exploit の意味は?
名詞の exploit には「手柄・偉業」という意味があります。動詞では「利用する・不当に利用する」で、セキュリティの世界では穴をつく攻撃コードのことも exploit と呼びます。

よくある質問

Q. PHP2Shellとは何ですか?
プログラム言語PHPに見つかった2つの重大な脆弱性(CVE-2026-109618とCVE-2026-109619)の通称です。ログインなしで外からサーバー上で不正なプログラムを動かされるおそれがあり、深刻度は2件ともCVSSで10点満点中9.2です。10月21日に修正版が公開されました。
Q. 一般の利用者は何かする必要がありますか?
PHPを更新するのはサービスの運営会社やサーバーの管理者なので、利用者がPHPを更新する必要はありません。今後、利用しているサービスから正式な案内が出た場合はそれに従い、騒ぎに便乗したパスワード再設定を求める偽メールには注意してください。
Q. なぜ阿部寛のホームページが見られなくなったのですか?
サイトが置かれている「@nifty ホームページサービス」が、PHPの脆弱性に対応するため緊急メンテナンスを行ったためとみられます。阿部寛さんのサイト自体に穴があったと確認されたわけではありません。
Q. 個人情報の流出などの被害はありましたか?
10月22日時点で、政府は被害の報告はないとしています。多くの会社は予防のための停止と説明していますが、すべてのサービスで被害の有無が確定したわけではありません。
Q. 自分のWordPressサイトは大丈夫ですか?
WordPress本体やプラグインの更新では直らず、サーバーのPHPを直す必要があります。PHP 8.2〜8.5なら同じ系列の8.2.35、8.3.36、8.4.27、8.5.12以降へ。8.1以前はサーバー会社やOSの修正版を確かめ、サポート中の版への移行を検討してください。管理画面のサイトヘルスでPHPのバージョンを確認し、レンタルサーバーのお知らせも確かめてください。

あわせて読みたい

参考にした発表・報道