WEB(ホームページ)制作会社 better standard

Blog of Better Standard

Webサイト制作やデジタルマーケティングのブログ

PHPの脆弱性「PHP2shell」。EC-CUBEやWordPressのサイトで、いま確認すべきこと

Daisuke Suzuki

情報処理推進機構(IPA)は10月22日、ウェブサイトを動かすプログラム言語「PHP」に見つかった2件の脆弱性について、注意喚起を出しました。悪用されると、外部の第三者にサーバーを操られるおそれがあります。中小企業のネットショップで多いEC-CUBEや、会社のサイトで多いWordPressも、PHPで動いています。

自社のサイトがPHPで動いているなら、サイトを作った制作会社や契約しているサーバー会社に、PHPの更新が済んでいるかを一度確かめておくと安心です。なお、22日の時点で、IPAは実際の攻撃は確認していないとしています。

PHP2shellの概要

PHPは、世界中のウェブサイトで使われているプログラム言語です。PHPの開発元は2件の脆弱性(CVE-2026-109618、CVE-2026-109619)を修正した新しい版を公開しました。2件を組み合わせた攻撃は「PHP2shell」と呼ばれ、悪用されると、外部の第三者がサーバー上で任意のプログラムを実行できるおそれがあります(IPA)。

IPAは前日の10月21日に、修正版が日本時間21日23時に公開される予定だとして、事前の準備を呼びかけていました。そのなかで、サポートが終わった古いPHPを使い続けているサイトがあることも指摘しています(IPA 事前準備のお願い)。

同じ21日には、高市早苗首相も自身のXで「今夜に対応して頂きたい大至急のお願い」として呼びかけました。修正パッチをすぐに当てられるよう準備すること、すぐに当てられない場合はウェブサイトを一時的に止めることもリスクを下げる有効な手段の一つだ、という内容です。IT担当者だけの話ではなく、サイトを持つすべての事業者に向けた呼びかけになっています。

10月23日には、PHPの開発元が追加の告知を出し、次の定期リリースまで、ファイルのアップロードの進み具合を扱う機能(session.upload_progress.enabled)を無効にしておくよう勧めています(php.net)。設定の変更は、サーバー会社や制作会社に相談してください。

影響を受けるサイトとPHPのバージョン

対象になるのは、PHPで動いていて、PHPの更新を自社や制作会社、サーバー会社が行う必要があるサイトです。中小企業では、次のようなケースが多くあります。

  • EC-CUBEで作ったネットショップ
  • WordPressで作った会社サイトやブログ(WooCommerceやWelcartのショップも含む)
  • レンタルサーバー上で動く、独自開発の予約フォームや会員ページ

IPAが示す影響範囲と修正版は次のとおりです。

PHPの系統 影響を受けるバージョン 修正版
8.5 8.5.12より前 8.5.12
8.4 8.4.27より前 8.4.27
8.3 8.3.36より前 8.3.36
8.2 8.2.35より前 8.2.35
8.1以前 サポート終了 新しい版は出ない(7.4〜8.1はソース向けの最小限の修正のみ)

調査に関わったWiz社によれば、PHP 5.4以降のバージョンは少なくともいずれかの脆弱性の影響を受けるとされています(同 IPAページ)。

サポートが終わったPHP 7.4、8.0、8.1については、PHPの開発元は新しいバージョンを出していません。ただ、深刻さを考えて例外的に、ソースコード向けの最小限の修正を公開しました(php.net)。自分でPHPをプログラミングする人向けのもので、サポートが再開されたわけではありません。Linuxの配布元や長期サポートを提供する企業、有志の開発者が、この修正を古いPHPに組み込んだ版を出している例もあります。使っているサーバーがその対象かどうかは、サーバー会社や制作会社に確かめる必要があります。根本の対策は、サポートが続いているPHPへの移行です。

なお、PHP 8.2もサポートが2026年12月31日に終わります。8.2.35に上げた場合も、年内に8.3以降への移行を考えておく必要があります。

EC-CUBEのサイトは、特に注意が必要です。EC-CUBE 4.2が対応するPHPは8.1までで、8.1には今回の修正版が出ません。PHPを上げるには、先にEC-CUBE本体を4.3へ上げる必要があります(EC-CUBE システム要件)。

まずは制作会社とサーバー会社に確認を

PHPのバージョンを自分で調べられる人は、多くありません。まずは、サイトを作った制作会社や保守を頼んでいる会社、契約しているレンタルサーバーの会社に問い合わせるのが早道です。聞くことは次の3つです。

  1. いまのPHPのバージョンと、今回の修正版への更新が済んでいるか
  2. 更新は誰が行うのか。保守の契約に入っているのか、サーバー会社が自動で更新するのか
  3. 更新したときに、サイトが動かなくなるおそれはないか。古いプラグインや独自の改修があると、PHPを新しくした途端に動かなくなることがあります

いちばん危ないのは、どこに聞けばいいか分からない、保守の契約もない、という状態です。

自分でPHPのバージョンを確認する方法

管理画面に入れる方は、次の場所で確認できます。上の表と照らし合わせてください。

  • WordPress:管理画面の「ツール」→「サイトヘルス」→「情報」タブ→「サーバー」に、PHPのバージョンが表示されます
  • EC-CUBE(4系):管理画面の「設定」→「システム設定」→「システム情報」で確認できます
  • レンタルサーバー:サーバーの管理画面で、ドメインごとのPHPのバージョンを確認・切り替えできることが多いです(エックスサーバーなら「PHP Ver.切替」)

更新できないなら、経営の判断になる

PHPを上げたくても、上げられないサイトは少なくありません。私たちが管理しているWordPressやEC-CUBEのサイトにも、使っているプラグインが新しいPHPに対応しておらず、すぐには上げられないものがあります。PHPだけを新しくすると、サイトの一部や全体が動かなくなるからです。

IPAは、修正が難しい場合の考え方も示しています。主な点は次の3つです(同 IPAページ)。

  • 更新や移行が終わるまで、脆弱な状態を放置せず、暫定の対策やアクセスの制限を検討する。外部からのアクセスを止めるか、サービスを一時停止するかも判断する
  • 事業責任者や経営層も含めて、更新・移行と、その後の維持管理に必要な人員・予算・保守体制を確保できるか検討する
  • 保守を受けられる製品・サービスへの移行や、機能の縮小、公開の終了も含めて検討する

公的機関が「経営層も含めて」と明記している点は重く受け止めるべきです。担当者に任せて終わる話ではありません。

自社で守るか、仕組みごと任せるか

今回の修正を当てても、安心できるのは次の脆弱性が見つかるまでです。IPAは2024年7月にも、PHPの脆弱性を悪用した攻撃について注意喚起しています(IPA 事前準備のお願い)。

自社でサーバーとソフトを抱える限り、こうした対応は繰り返しやってきます。そのたびに、誰かがすぐに確認し、更新し、サイトが動くかを確かめる必要があります。保守のためにエンジニアを雇うのも、外注し続けるのも、多くの中小企業にとっては重い負担です。

私たちもEC-CUBEのサイトを運用していましたが、EC-CUBEは本体のバージョンを上げるだけでも、かなり大変な作業でした。いまは手順が整い、同じ系統の中の更新なら当時より楽になっています。それでも、PHP、本体、プラグインの更新を誰かが追い続けなければならない点は、いまも変わりません。

選択肢は大きく2つです。

  • 守る体制にお金をかける。保守契約を結び、更新しやすい作り(プラグインを増やしすぎない)を保ちます
  • 守る仕組みごと任せる。ネットショップなら、Shopifyのようなサービス型に移ります。基盤の更新はサービスの提供元が行うので、店舗側が夜中に作業する必要はありません

WordPressのサイトをこのまま使い続ける場合は、WordPressの更新を放置しないためのチェックポイントもあわせてご覧ください。

better standardでは自社で複数のECブランドをShopifyで運用しています。その経験から、ネットショップについては後者をおすすめしています。EC-CUBEなどからの移行で気をつけることも含めて、詳しくはECサイト制作のページにまとめています。

よくある質問

レンタルサーバーを使っています。サーバー会社が自動で更新してくれますか?

サービスによって異なります。サーバー会社のお知らせを確認してください。PHPのバージョンを利用者が選ぶ形式の場合、切り替えは自分で行う必要があります。

PHPを更新したら、サイトが壊れることはありますか?

あります。特に古いプラグインや独自の改修がある場合です。本番の前に、テスト環境で動作を確かめるのが安全です。

PHP 7系や8.1を使っています。どうすればいいですか?

サポートが終了しているため、新しい版は出ません。7.4、8.0、8.1にはソース向けの最小限の修正が公開されていますが、組み込めるかはサーバーの環境しだいです。まずはサーバー会社や制作会社に確認してください。IPAはサポートされているPHPへの更新か、保守を受けられる製品・サービスへの移行を検討するよう求めています。

Shopifyで作ったショップも対応が必要ですか?

Shopifyのようなサービス型では、基盤の更新はサービス提供元が行います。店舗側がPHPを更新する作業はありません。ただし、外部のアプリや連携システムを使っている場合は、それぞれの提供元の情報も確認してください。

出典

Daisuke Suzuki