PHP2Shell(CVE-2026-109618/109619)とEC-CUBE:古いPHPでもバージョンアップなしでパッチ適用できる
PHP2Shell は EC-CUBE ではなく、サーバーで動いている PHP 自体の脆弱性です。「公式の修正版は PHP 8.2 以降だけ」と聞くと EC-CUBE ごと作り直しが必要に思えますが、実際には古い PHP にも同じ系列の修正済みビルドが出ています。EC-CUBE 2〜4系のほとんどは、今のバージョンのまま対応できます。
何が起きたか
- 2026年10月21日、PHP の開発チームが2件の重大な脆弱性(CVE-2026-109618/CVE-2026-109619、通称 PHP2Shell)の修正版を公開しました。深刻度は CVSS v4.0 で 9.2。
- 条件がそろうと、ログイン不要で外部からサーバー上のプログラムを実行される(乗っ取られる)おそれがあります。PHP 標準のセッション機能(アップロード進捗)が攻撃経路の一つとして知られています。
- 修正版の公開前に情報が出回り、攻撃コードも流通。公開当日から悪用が報告されています。
古い PHP にも修正済みビルドがある
PHP 公式の修正版は 8.2.35/8.3.36/8.4.27/8.5.12 です。ただし、公式サポートが終わった古い系列にも、OS ベンダーや PHP のメンテナーが修正を移植したビルドを出しています(2026年10月22日時点の主なもの)。
| 提供元 | 修正済みの系列 | 主な対象環境 |
|---|---|---|
| Sury(Debian/Ubuntu 向けリポジトリ) | 5.6/7.0/7.1/7.2/7.3/7.4/8.0/8.1 | Debian 12・13、Ubuntu 22.04・24.04 |
| Remi(RHEL 系向けリポジトリ) | 7.4/8.0/8.1 | RHEL・AlmaLinux・Rocky 8/9 |
| Red Hat/AlmaLinux | 7.4(php:7.4 ストリーム) | RHEL 8・AlmaLinux 8 |
| Ubuntu(標準・ESM) | 8.1(22.04)、7.2・7.4(ESM) | Ubuntu 22.04、18.04・20.04(Ubuntu Pro) |
| PHP 公式 | 7.4/8.0/8.1 向けの修正ソース | 自前でビルドしている環境 |
これらは版数(例 7.4.33)が変わらないため、バージョン番号だけでは修正済みかどうか判別できません。パッケージのリリース番号や更新履歴で確認します。
EC-CUBE のバージョン別:やることは「PHP にパッチ」
| EC-CUBE | 動作する PHP | 対応 |
|---|---|---|
| 2系・3.0系 | 5.6〜7.x | 同じ系列の修正済みビルドに入れ替え。EC-CUBE はそのまま |
| 4.0/4.1系 | 7.1〜8.0 | 同じ系列の修正済みビルドに入れ替え。EC-CUBE はそのまま |
| 4.2系 | 7.4〜8.1 | 同じ系列の修正済みビルドに入れ替え。EC-CUBE はそのまま |
| 4.3系 | 8.1〜8.3 | 公式修正版(8.2.35/8.3.36)に更新。EC-CUBE はそのまま |
PHP の系列(7.4 なら 7.4)を変えないので、EC-CUBE 本体もプラグインもそのまま動きます。PHP2Shell のために EC-CUBE のバージョンアップを急ぐ必要はありません。
環境によって手順が変わる
- VPS・クラウド(自社で管理しているサーバー):上の提供元から修正済みパッケージを入れ、PHP-FPM/Apache を再起動します。作業時間は通常1〜2時間、サイト停止は数秒〜数分です。
- 共用レンタルサーバー:PHP 本体はサーバー会社が管理しています。一部のサーバー会社(Xserver など)は古い PHP にも独自に修正を入れる準備を進めています。契約中のサーバー会社の対応状況を確認し、修正が入るまでの間は次の暫定対策を組み合わせます。
修正が入るまでの暫定対策
いずれもリスクを下げるための対策で、パッチの代わりにはなりません。
- セッションのアップロード進捗機能を無効化:php.ini の
session.upload_progress.enabled = 0。EC-CUBE の通常機能には影響しません。 - リクエストの大きさを制限:
post_max_size・upload_max_filesizeを必要最小限に。max_input_nesting_levelも下げます。 - WAF を有効にする:多くの国内レンタルサーバーには管理画面に WAF の切替があります。
- 管理画面にアクセス制限:EC-CUBE の管理画面 URL を初期値から変更し、IP 制限をかけます。
- 侵入されていないかを確認:最近更新された PHP ファイル、見覚えのないファイル(Web シェル)、管理者アカウント、cron を確認します。
- 作業前にバックアップ:ファイルとデータベースの両方を取ってから変更します。
あわせて確認:Amazon Pay プラグイン
同じ10月には、EC-CUBE 4 向けの公式 Amazon Pay プラグインにも緊急度の高い脆弱性が公表され、悪用が確認されています。Amazon Pay を使っているショップは、プラグインの更新もあわせて確認してください。
サーバー会社が修正済みでも、確認したい3つのこと
- 修正が、今の PHP に本当に入っているか:古い PHP の修正済みビルドはバージョン番号が変わりません。サーバー会社によっては新しい PHP から順に対応しているため、お使いの系列に入っているかを確認します。
- 修正前に、攻撃されていないか:攻撃は修正版の公開前から確認されています。修正しても、仕掛けられた Web シェルや決済画面の改ざん、不審な管理者アカウントは残ります。
- EC-CUBE 自体に、別の穴がないか:サポートが終わったバージョンの既知の脆弱性、Amazon Pay プラグイン、install.php の残存、初期値のままの管理画面 URL など、PHP の修正とは別の問題です。
48時間でまとめて確認・対応する
CubeCheckup プラグインを入れて診断を依頼すると、お使いの PHP の状況をその場で判定して管理画面に表示します。自社で確認できない場合は、PHP2Shell 緊急対応パック(¥143,000・税込)をご利用ください。やり取りはメール・Chatwork で、アクセス情報の受領から48時間以内に、修正の適用確認・未修正ならパッチ適用(EC-CUBE はそのまま)・侵入痕跡の確認・EC-CUBE 本体のチェックを行い、報告書をお届けします。
参考:The PHP Foundation(2026-10-21) / PHP2Shell の対応状況まとめ(Zenn) / Ubuntu / AlmaLinux / GMO Flatt Security / Security NEXT(Amazon Pay プラグイン)
自社のEC-CUBEがどの状態か、3分で確かめる
CubeCheckupプラグインを入れて「診断を依頼」するだけ。本体・PHP・プラグインの状態から、専門スタッフがリスクとバージョンアップ費用を見積ります。期間限定・先着20社まで無料。
無料で診断を依頼 →