PHPの脆弱性「PHP2Shell」と今すぐ必要な経営と技術対策

EZ-net@IT研究所 | 発行日:2026年10月

経営層向け · サイバーセキュリティ
PHP2Shellから1週間——御社のサイトのPHPは、アップデートできましたか?
PHP に最高危険度の脆弱性が2件。ログインも不要、リンクを踏む必要もなく、サーバーを遠隔操作されます。修正版は10月21日に公開済み。ただし、その修正はサーバー側に入るもので、WordPress の管理画面からは入れられません。5分で3点——何が起きたか、なぜ御社に関係するか、今やるべきこと。
目次

一、何が起きたのか

今回の脆弱性は、特定のサイトの作り方の問題ではありません。PHP という言語そのものの欠陥です。世界のサイトの約7割が PHP で動いており、WordPress、EC-CUBE といった定番のサイト構築システムも、すべて PHP の上に乗っています。

脆弱性は2件、CVSS スコアはいずれも 9.2/10(Critical)。通称 PHP2Shell。平たく言えば、攻撃者が細工したリクエストを1本送るだけで、ログインも、リンクをクリックさせる必要もなく、サーバーの制御を奪えます。原因は PHP 内部のメモリの扱いにあり、コードは2012年まで遡ります。14年間、既定の設定のまま潜んでいたことになります。

69.3%
サーバー側の言語が判明している
サイトのうち PHP を使う割合
9.2/10
2件の脆弱性の
公式スコア(Critical)
211
日本で当日に
予防停止したサービス数

修正版は10月21日に公開されました。ただし、ここが要点です。

修正はサーバー側に入ります。WordPress の管理画面で「更新」を押しても入りません。サイトのプログラムの出来の問題ではなく、土台の問題だからです。

攻撃の試行は毎日続いています。セキュリティ各社のハニーポットは、公表の4日前にはすでに悪用を捉えていました。一方で、10月25日時点で、大規模な侵害成功は公開されていません。これは「無事」ではなく、「まだ間に合う」という状態です。

二、なぜ御社に関係するのか

3点、自社に当てはめて確認してください。

①御社のサイトは、まず射程内です。コーポレートサイト、問い合わせフォーム、会員機能——WordPress/EC-CUBE などの定番システムで作られていれば、それは PHP です。

②「直す」のはサーバー側なのに、その責任者が空白になりがちです。シェアードホスティング(Xserver、さくら等)は事業者が一括対応するので、告知を待てば済みます。しかし、自社で借りたサーバー、クラウド上の「昔だれかが構築した」サイトは、担当が決まっていないことが多い。今回、Palo Alto のファイアウォールの管理画面まで対象になりました。

③他社はすでに「止める」という形で意思表示しています。日本では当日211のサービスが予防停止——CoDMON、BASE、pixiv、niconico、Xserver、『ウマ娘』。欧州でも、オランダの行政ログイン DigiD、フランス内務省の地方自治体サイト、ドイツ連邦ITサービス(ITZBund)、フィンランド(Valtori)、デンマーク(Kombit)の公共サービスが相次いで停止しました。

注意したいのは、そのすべてが予防措置で、侵害が確認された事例は1件もないという点です。止めたのは攻撃を受けたからではなく、「確認」を待っていられなかったからです。

三、今やるべき3つ

①「PHPの責任者は誰か」を確定させる

何をするかサイト制作会社、ホスティング事業者、自社IT部門のそれぞれに書面で回答を求めてください。サイトはどの PHP バージョンで動いているか。修正版に上がっているか。いつ上げたか、上げた後に再起動したか。

経営の判断3つの質問のうち1つでも答えられなければ、それは誰も責任を持っていないという意味です。脆弱性そのものより、こちらのほうが心配すべき状態です。

②更新を「検討する」ではなく、日程に落とす

何をするか下表で自社の系列を確認し、修正版に上げる。

経営の判断8.1 以前は公式の修正版がありません。更新かリプレースが必要です。あわせて1つ覚えておいてください:現在サポートされている最も古い 8.2 も、今年12月31日でサポート終了です。どのみち必要になる費用なら、今回まとめて 8.3 以上に上げるのが最も安く済みます。

バージョン系列修正版サポート状況
PHP 8.58.5.122027-12-31 まで
PHP 8.48.4.272026-12-31 まで
PHP 8.38.3.36セキュリティ修正のみ
PHP 8.28.2.352026-12-31 サポート終了
8.1 以前公式版なし更新、またはディストリビューションのバックポート

③分かる人に任せる。本番環境で直接いじらない

何をするか先週、ある顧客のサイトを PHP 8.3 に切り替えました。方向は完全に正しい。それでも、サイトは真っ白になりました。テーマの中の、何年もだれも触っていない古いコードが致命的なエラーを起こし、メンテナンスモードの画面すら表示されない状態に。さらにメールプラグインが通信できなくなり、テストメールも送れません。

なぜそうなるかPHP の更新は、数字を1つ変える作業ではなく、変更管理です。正しい順序は、完全バックアップ → テスト環境で主要フロー(ログイン/メール送信/フォーム/注文)を一通り → 業務の閑散時間に切り替え → テストメール1通で受け入れ確認。

経営の判断手順自体は複雑ではありません。ただし、どの段階にも分かる人が立ち会う必要があります。1つ飛ばせば、代償は一晩の真っ白なサイトと、翌日の顧客からのクレームです。

技術担当への補足3点:① php -v では直ったか分かりません——ディストリビューションは修正をバックポートするためバージョン番号が変わらず、パッケージの変更履歴で CVE-2026-109618/CVE-2026-109619 を確認する必要があります。② 更新後は Web サーバーとすべての PHP worker を再起動。コンテナはイメージを再ビルドして再デプロイ。③ 10月17日以降に露出していたサーバーは、「webshell を植えられた可能性」を前提に点検してください。

四、よくある質問(FAQ)

Q1. ここ数日サイトが開きません。攻撃されたのでしょうか?
多くは予防停止です。閉めて、修正して、開ける。告知に「不正アクセスや情報漏えいを確認していない」とあれば(CoDMON、シャドウバースなど)、この停止についてパスワード変更は不要です。むしろ気をつけるべきは、この数日に出てくる「アカウント確認のため再ログインを」というフィッシングメールやSMSです。リンクは踏まず、公式アプリから確認してください。
Q2. 設定を1つ切れば(session.upload_progress)安全になると聞きました。
違います。それは公式が挙げた暫定措置の1つで、公式自身が「リスクを下げるだけで、システムを安全にはしない」と明記しています。完全な解決は PHP の更新と、すべての PHP ワーカーの再起動だけです。
一言で言えば——今回浮き彫りになったのは、どのサイトのコードがひどいか、ではなく、「このサーバーの PHP は誰が管理しているのか」が多くの会社で決まっていないことです。本社は制作会社の仕事だと思い、制作会社はホスティング事業者の仕事だと思い、事業者は顧客の仕事だと思っている。事故が起きた日には、3層すべてが「うちの範囲ではない」と言えます。WordPress は家、PHP は地盤です。家主が鍵を替えて壁を塗り直しても、地盤は古いままです。

関連記事(近日公開):ランサムウェア対策、何から始めるか——経営者が押さえるべき7つの打ち手と優先順位

御社の PHP は、今誰が管理していますか?
EZ-net(上海日進信息技術有限公司)は、中国の日系企業向けに、PHP バージョンの棚卸し、互換性修正・更新代行(テーマ旧コードの修正、SMTP 再設定を含む)、侵害痕跡の調査まで、日本語でワンストップ対応します。
PHPバージョン診断を予約

セキュリティ警報のコラムをもっと見る →

EZ-net@IT研究所 — 迅速 ・ 専門 ・ 安心 ・ 多言語
IT安全は「支出」ではなく、未来を守る「投資」です!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次