PHPに重大な脆弱性「PHP2Shell」——WordPressサイトを持つ中小企業がいま確認すべきこと

コラム

10月21日の夜、ホームページの裏側で動いているプログラム言語「PHP(ピーエイチピー)」に、とても深刻な弱点(脆弱性)が2件見つかったとして、修正版が公開されました。首相や国家サイバー統括室がXで備えを呼びかけ、レンタルサーバー各社が夜通しでメンテナンスを行う異例の事態になりました。

PHPは、WordPressをはじめ多くの会社のホームページや問い合わせフォーム、予約・通販システムの土台です。「業者に任せているから関係ない」と思っている会社ほど確認が必要です。何が起きたのか、自社サイトの確かめ方、いまやるべきことを整理します。日時はすべて日本時間です。

何が起きたのか

PHPの開発チームは10月21日、PHP 8.5.12、8.4.27、8.3.36、8.2.35を公開し、2件の重大な脆弱性(CVE-2026-109618とCVE-2026-109619)を修正したと発表しました(PHP公式の告知)。どちらも、ログインなどの認証なしに、外部からサーバー上で好きなプログラムを動かされる(リモートコード実行)おそれがあるものです。深刻度の目安であるCVSS v4.0では、2件とも10点満点中9.2の「Critical(緊急)」と評価されています。

PHP公式は、PHP-FPM、Apacheのmod_php、php-cgiなど、Webのアクセスを処理するPHPの代表的な動かし方をすべて対象に挙げています。特にmod_phpは、サイト側のプログラムが動く前の段階で攻撃が成立することが実証されています。「WordPressやプラグインを最新にしているから安全」とは言えないのが、今回の大きな特徴です。

発見したセキュリティ企業Wizなどはこの問題を「PHP2Shell」と呼んでいます。Wizは、少なくとも一方の不具合がPHP 5.4以降の全バージョンに影響すると説明しており(Wizの解説)、JPCERT/CCも「当該製品が国内で広く利用されていることを確認」したうえで、速やかな対策と侵害有無の調査を呼びかけています(JPCERT/CCの注意喚起)。

10月20日に情報が外部に漏れ、発見者側が攻撃の実演動画を誤って公開したこともあり、修正版の公開は1日前倒しされました(PHP Foundationの経緯説明)。セキュリティ企業watchTowrは、おとりサーバーで10月21日以降に実際の悪用を観測したと報告しています。一方、米CISAは発表時点で悪用を確認しておらず、10月23日時点で悪用確認済みの一覧(KEV)にも載っていません。「攻撃方法が出回り始めている」前提で動くのが安全です。

修正版の公開前には、高市早苗首相も公式Xで「大至急のお願い」として、パッチをすぐ適用できる準備と、難しい場合はサイトの一時停止も有効策の一つだと呼びかけました(10月21日21時55分)。

影響を受けるバージョンと修正版

対象と修正版は次のとおりです。PHP公式、JVN(JVNVU#99905564)、JPCERT/CCの情報をもとにまとめました。

PHPの系統影響を受けるバージョン修正版
8.58.5.12より前8.5.12
8.48.4.27より前8.4.27
8.38.3.36より前8.3.36
8.28.2.35より前8.2.35
8.1以前(8.1・8.0・7.4・それより古いもの)影響ありPHP公式の修正版はなし(7.4・8.0・8.1向けには、ソースコードに当てる最小限の修正のみ提供)

8.1以前にはPHP公式の更新版がありません。サーバー会社が独自に修正を当てている場合もありますが、基本は「8.2以降の修正版へ移る」ことです。

PHPのサポート状況

PHPは、新しい系統が出てから2年間は通常のサポート、その後2年間はセキュリティ修正のみ、という決まりで運用されています(PHP公式のサポート状況)。10月23日時点の状況は次のとおりです。

系統リリース日通常サポートセキュリティ修正の提供
8.52025年11月20日2027年12月31日まで2029年12月31日まで
8.42024年11月21日2026年12月31日まで2028年12月31日まで
8.32023年11月23日2025年12月31日で終了2027年12月31日まで
8.22022年12月8日2024年12月31日で終了2026年12月31日まで(残り約2か月)
8.1以前—終了終了(今回の公式修正版なし)

8.2は今年12月31日でセキュリティ修正も終わります。8.2を使っているなら、今回あわせて8.3以上への切り替えを計画しておきましょう。

自社サイトのPHPバージョンを確かめる方法

確かめ方は主に3つあります。

1つ目はWordPressの管理画面です。「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」でPHPのバージョンが見られます(WordPress公式が案内している方法です)。

2つ目はレンタルサーバーの管理画面です。「PHP設定」などのメニューで、サイトごとの系統(8.3など)を確認・変更できます。

3つ目は、自社管理のサーバーで「php -v」と入力する方法です。ただし、Webで動くPHP(PHP-FPMなど)とコマンドのPHPが別のこともあるので注意してください。

ひとつ注意点があります。レンタルサーバーでは、バージョン番号を変えずに修正だけを取り込む会社もあります。たとえばロリポップ!は、公式の修正版がない古いPHPにも独自の修正を当てたと案内しています。番号が古く見えても対策済みのことがあるため、番号だけで判断せず、サーバー会社のお知らせも確認してください。

レンタルサーバー各社の対応

大手レンタルサーバーは10月21日夜から22日にかけて緊急メンテナンスを行いました。公式発表で確認できたものを紹介します。

  • さくらのレンタルサーバ:10月21日22時30分から予防的な緊急メンテナンスを実施。提供しているPHP(サポートが終わった版を含む)に修正を適用したと発表し、サポート中のPHPへの移行を勧めています。なお、VPSなど自分で管理するサーバーは利用者自身での更新が必要です(さくらインターネットのお知らせ)。
  • ロリポップ!:攻撃を受けるおそれがあるとして一部サーバーのサイトを一時停止し、修正を適用したうえで10月22日13時11分に再開。公式の修正版がない古いPHPにも独自の修正を当てたと公式Xで案内しています(ロリポップ!公式X)。
  • ConoHa WING:10月22日に「PHPの脆弱性への弊社対応完了のお知らせ(終報)」を公式サイトのお知らせに掲載しています(ConoHa WINGのお知らせ一覧)。

ほかの会社も公式サイトで状況を公開しています。契約先のお知らせを必ず一度は確認してください。PHP本体の更新は基本的にサーバー会社が行いますが、古い系統を選んだままだと、利用者側での切り替えを求められることがあります。

いますぐやるべきこと

レンタルサーバーを使っている会社は、まず契約先のお知らせで「自分のプランとPHPバージョンが対策済みか」を確認します。そのうえで、PHPが8.1以前なら、サイトのバックアップを取ってから8.3以上への切り替えを検討してください。切り替え後は、フォームや管理画面が正しく動くか確かめます。

自社でサーバーやVPS、クラウドを管理している場合は、OSのパッケージ更新などで修正版のPHPへ更新し、PHP-FPMやWebサーバーを再起動します。PHP公式は「完全な回避策はなく、更新が唯一の安全な選択肢」としています。告知には一時的な緩和策も載っていますが、あくまで時間稼ぎです。米CISAは、PHP 8.1以前のシステムは更新できるまでオフラインにするよう求めています(CISAの注意喚起)。

また、制作会社や保守業者にサイトを任せている場合は、「今回のPHPの脆弱性(CVE-2026-109618/109619)への対応は済んでいますか」と一言たずねるのが確実です。Cloudflareは無料プランを含めWAF(不正な通信を止める仕組み)で防御を入れたと発表していますが(Cloudflareのブログ)、WAFは更新の代わりにはならない点に注意してください。

さらに、JPCERT/CCは侵害有無の調査も呼びかけ、不自然なPHPSESSIDの値、怪しいファイル送信のリクエスト、メモリ不足やHTTP 500のエラー、プロセスの異常な再起動などを手がかりに挙げています。ただし痕跡がなくても安全の証明にはならないとしています。

WordPressを使っている会社へ

WordPress公式は、今回の問題はWordPress固有のものではなく、WordPress本体の更新は必要なく予定もないと説明しています(WordPress.orgのお知らせ)。そのかわりPHPの更新を強く求め、8.2より前はセキュリティ更新を受けられないとしています。

Wizは、標準構成のWordPressでログインなしにサーバーを乗っ取れることを実証したと報告しています。テーマやプラグインを更新していても、土台のPHPが古ければ守れません。切り替えでサイトが崩れるのが心配なら、WordPress公式のPHP更新ガイドも参考にしながら、まずバックアップを取ってから進めましょう。

AIが「弱点探し」と「攻撃づくり」を速めている

今回の発見には、AIが深く関わっています。Wizは、Gemini 4 ArgonやGPT-5.6 Solなどの最先端AIを使って、攻撃の難しさが「大きく下がった」と説明し、「これまで世界トップクラスのチームが数か月かけていた作業を、1人の研究者が1週間で終えた」と述べています。当サイトで紹介したGemini 4 ArgonやGPT-5.6 Solの力が、セキュリティの現場で現実になった形です。

PHP Foundationによると、AIを使った調査が広がったことで脆弱性の報告が急増し、7月1日以降だけで15件のCVEが登録された一方、100件を超える誤った報告も届いたといいます。攻撃する側も、修正内容から攻撃方法を短時間で組み立てやすくなっています。「修正版が出ても数日は様子見」という感覚は、もう通用しにくいと考えましょう。

PHP公式やPHP Foundationの公式X・YouTubeに解説動画はありませんでしたが、Wizの公式YouTubeで研究者が経緯を解説しています(英語)。

中小企業向けチェックリスト

今日のうちに、次の項目を順に確認してみてください。

  • 自社のホームページ、問い合わせフォーム、予約・通販サイトなど、PHPで動いているものを洗い出した
  • それぞれのPHPバージョンを、サイトヘルスやサーバー管理画面で確認した
  • 契約中のレンタルサーバー会社のお知らせで、対策済みかどうかを確認した
  • PHP 8.1以前を使っているサイトは、バックアップを取ってから8.3以上への切り替えを計画した
  • 制作会社・保守業者に、今回のPHP脆弱性への対応状況を問い合わせた
  • 自社管理のサーバーは、修正版(8.5.12/8.4.27/8.3.36/8.2.35以降)へ更新し、再起動した
  • サイトの改ざんや、見覚えのない管理者アカウント・ファイルがないかを確認した
  • PHP 8.2を使っている場合、12月31日のサポート終了までに移行する予定を立てた

サイバー攻撃全般への備えについては、当サイトの相次ぐサイバー攻撃を一覧で整理した記事と、AI攻撃ツールにも触れた続報もあわせてご覧ください。

まとめ

PHP2Shellは「サイトの中身」ではなく「土台」の弱点で、PHPそのものを修正版にすることが唯一の確実な対策です。古いPHPのままのサイトや自社管理のサーバー、業者任せのサイトが抜け穴になりがちです。

IPAも、サポート状況の確認、当面の対策やアクセス遮断、システムの状況把握、経営層を交えた方針決定といった手順を示しています(IPAの注意喚起)。「うちは大丈夫だろう」ではなく、「確認したから大丈夫」と言える状態を、この週末までに作っておきましょう。

参考リンク

この記事を書いた人
この記事を書いた人

毎日20時間以上AIの実践・研究に没頭するITエンジニア。20年以上にわたり、オンラインゲームや生活関連など幅広いジャンルのオウンドメディアで執筆・編集長を歴任。現在は上場企業グループの代表取締役を務め、複数の事業者団体で理事を兼務する経営者でもある。テクノロジーの最前線に身を置きつつ、地域の商店街や神社の運営にも深く携わるなど、地域活性化にも尽力。圧倒的な現場経験とITの専門知識、経営者の視点から、信頼性の高い有益な情報を発信している。
Olive株式会社 代表取締役

tanakaをフォローする
コラム
シェアする
tanakaをフォローする

コメント

タイトルとURLをコピーしました