0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

php2shell 対応状況まとめ:ディストリ別の修正版と確認方法

0
Posted at

開示:筆者は、PHP の脆弱性「php2shell」の対応状況を確認する無料サイト(php2shellcheck.com)を個人で運営しています。PHP Group や php.net とは関係のない独立サイトです。サイトには別に任意の有料サポートもありますが、この記事では扱いません。この記事の版数と状況は、各ベンダーの公式ページに書かれている内容だけを転記・要約したもので、表の出典リンクはすべてベンダー公式です。

2026年10月22日(木)15:48(JST)時点の内容です。 レンタルサーバー各社の対応は時間単位で変わります。各行の出典で最新を確認してください。自分が所有・管理しているシステムの確認にだけ使ってください。

結論(先に)

  • 2026年10月21日、PHP 公式が重大な脆弱性2件(CVE-2026-109618 / CVE-2026-109619、通称 php2shell)を 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 で修正しました。
  • ディストリビューション版の PHP は、版数が古いまま「修正済み」のことがあります。 たとえば Ubuntu 24.04 の 8.3.6-0ubuntu0.24.04.13 は修正済みです。公式の 8.3.36 と数字だけ比べると、誤って「古い」と判断します。比べる相手は、OS ベンダーが公表する「修正済みパッケージの版数」です。
  • PHP 7.4 / 8.0 / 8.1 は本家ではサポート終了で、公式の修正版リリースはありません(ソースの移植パッチのみ)。OS やホスト事業者が修正を取り込んでいるかどうかで決まります。
  • 2026年10月22日時点で、ベンダーが「修正パッケージなし」と表示している組み合わせと、まだアドバイザリが確認できない組み合わせがあります。後者は「未修正」と決まったわけではなく、「情報が見つからない」という意味です。

1. 何が起きたか

PHP 公式の発表では、この2件は認証なしのリモートコード実行につながり得るとされています。かんたんに言えば、外部の第三者がサーバー上で勝手にプログラムを動かせてしまう可能性がある、という脆弱性です。CVSS は 9.2(CRITICAL、CVSS v4.0)です。公式のリリース告知には次のように書かれています。

There are no complete mitigations, updating is the only safe choice.

出典:引用文は php.net の各リリース告知(例:PHP 8.5.12 Released!)、脆弱性の概要は php.net のセキュリティ告知、CVSS 9.2 は 事前告知、版数は ChangeLog

この記事では、攻撃の仕組みや再現方法には触れません。

悪用の状況(団体ごと・日時つき)

団体ごとに、発言した時点が違います。1つの結論にまとめず、そのまま並べます。

団体 発言(日付) 出典
AWS(Amazon Threat Intelligence) 10月21日(太平洋時間15:36)に "PHP2Shell is now being broadly exploited in the wild." と記載。同じ記事で、10月17日の試行を自社の観測で確認した一方、"it's unclear if any of these attempts would have succeeded in real-world systems." とも書いています AWS Security Blog
CERT-EU 10月21日。PoC が出回り始めており、攻撃者がすでに悪用している可能性が高まる、としている CERT-EU 2026-018
カナダ・サイバーセキュリティセンター 10月21日。PoC があるとの公開情報を把握、「現時点で悪用は確認していない」としている AL26-026
PHP 公式(php.net) 10月21日。リスクが最も高いのは mod_php とし、実証済みのエクスプロイトがあるとしている php.net セキュリティ告知
IPA(情報処理推進機構) 10月21日の事前告知(修正版の公開前)。「現時点でIPAが悪用した攻撃を確認しているわけではありません」としている IPA 事前告知
CISA KEV カタログ 2026.10.21 の時点で、2件とも未掲載 KEV カタログ

2. 自分の PHP のバージョンを調べる

Web を動かしている PHP を確認する

  • WordPress:管理画面の「ツール > サイトヘルス > 情報 > サーバー」の「PHPバージョン」。
  • レンタルサーバー:管理画面の PHP 設定(画面名は各社で違います)。ホスト側が修正を当てても番号が変わらない場合があります(後述)。
  • php -v は コマンドライン用の PHP の版数です。Web を動かしている PHP-FPM や Apache のモジュールとは別の版が入っていることがあります。
# Debian / Ubuntu(8.3 は自分の系統に置き換え)
php-fpm8.3 -v
# RHEL 系
php-fpm -v

どれが Web を動かしているか分からない場合は、1行の phpinfo() ファイルを推測されにくい名前で置いて確認し、確認したらすぐ削除してください。phpinfo() はサーバー情報を多く出力します。

Linux のパッケージ版数を確認する

# Debian / Ubuntu
dpkg-query -W -f='${Package} ${Version}\n' 'php*-cli' 'php*-fpm' 'libapache2-mod-php*'
apt policy php8.3      # 見るのは "Installed:" の行。"Candidate:" は「入れられる版」で、今入っている版ではない

# RHEL / AlmaLinux / Rocky / Oracle / Amazon Linux
rpm -qa | grep -i '^php'

# Alpine
apk info -v | grep '^php'
  • 版数は文字列全体(例:1:8.0.30-25+ubuntu24.04.1+deb.sury.org+1 なら先頭の 1: も)を、そのまま比べます。
  • Docker は docker exec コンテナ名 php -v(イメージだけなら docker run --rm イメージ名 php -v)。php:8 のような浮動タグは、いつ取得したかで中身が変わるため、タグ名だけでは判断できません。
  • 更新したら、PHP-FPM / Apache を再起動してください。再起動しないと古いプロセスが動き続けます。

3. なぜ「古い番号のまま修正済み」になるのか(バックポート)

ディストリビューションは、本家の最新版へ上げずに、修正だけを自分の版へ移植することがあります(バックポート)。この場合、本家の版数は変わらず、ディストリ独自の接尾辞(ビルド番号)だけが進みます。

例 版数 読み方
Ubuntu 24.04 php8.3 8.3.6-0ubuntu0.24.04.13 本家 8.3.6 ベースのまま修正済み。8.3.36 との数字比較は無意味
Ubuntu 22.04 php8.1 8.1.2-1ubuntu2.28 本家では EOL の 8.1 系だが、Ubuntu 自身の更新で修正
RHEL 9 の標準 php 8.0.30-8.el9_8.1 本家では EOL の 8.0 系だが、Red Hat が修正を取り込んで更新
Debian 13 php8.4 8.4.27-1~deb13u1 本家 8.4.27 そのものへ更新(本家と同じ番号になる)
sury / ondrej の PHP 8.0 1:8.0.30-25+ubuntu24.04.1+deb.sury.org+1 1: はエポック。先に比べられるため必ず含める。第三者リポジトリなので、OS 公式の表とは比べない

版数の大小を機械的に比べるには、パッケージ形式ごとの専用コマンドを使います(Debian と RPM と Alpine で比較規則が違うため、文字列として比べてはいけません)。

# Debian / Ubuntu:修正済み版数以上なら終了コード 0
# 24.04 の例。パッケージ名と修正済み版数は自分の環境に置き換える
dpkg --compare-versions "$(dpkg-query -W -f='${Version}' php8.3-cli)" ge 8.3.6-0ubuntu0.24.04.13 && echo "修正済み版数以上" || echo "修正済み版数未満"

# RPM 系(rpmdevtools)
rpmdev-vercmp 現在の版数 修正済み版数

# Alpine
apk version -t 現在の版数 修正済み版数

Alpine は、修正版が公式のセキュリティデータに載ってからパッケージの索引に入るまでに時間差が出ることがあります。apk upgrade のあと、実際に入った版数で確認してください。

4. ディストリ別の修正済み版数

2026年10月22日時点で、各ベンダーの公式ページに書かれている版数です。この版数以上であれば修正済みです。各行の出典はベンダー公式です。載せていない組み合わせ(Oracle Linux 9 の他のストリームなど)は、アドバイザリが見つかっていないものも含みます。

Ubuntu

環境 修正済み版数(この版以上) 出典(ベンダー公式)
Ubuntu 26.10 php8.5 8.5.9-0ubuntu2.1 USN-8948-1
Ubuntu 26.04 LTS php8.5 8.5.4-0ubuntu1.5 USN-8948-1
Ubuntu 24.04 LTS php8.3 8.3.6-0ubuntu0.24.04.13 USN-8948-1
Ubuntu 22.04 LTS php8.1 8.1.2-1ubuntu2.28 USN-8948-1
Ubuntu 20.04 LTS php7.4 7.4.3-4ubuntu2.29+esm5(Ubuntu Pro が必要) USN-8948-2
Ubuntu 18.04 LTS php7.2 7.2.24-0ubuntu0.18.04.17+esm14(Ubuntu Pro が必要) USN-8948-2
Ubuntu 16.04 LTS php7.0 7.0.33-0ubuntu0.16.04.16+esm22(Ubuntu Pro + Legacy Support が必要) USN-8948-2
Ubuntu 14.04 LTS php5 5.5.9+dfsg-1ubuntu4.29+esm18(Ubuntu Pro + Legacy Support が必要) USN-8948-2
Ubuntu 25.10 / 25.04 標準サポート終了。USN-8948 の対象に載っていない 公式ページ

Debian

環境 修正済み版数(この版以上) 出典(ベンダー公式)
Debian 13 trixie php8.4 8.4.27-1~deb13u1 DSA-6574-1
Debian 12 bookworm php8.2 8.2.35-1~deb12u1 DLA-4848-1
Debian 11 bullseye php7.4 Debian 自体の修正なし(LTS は 2026-08-31 終了)。有償の Freexian Extended LTS が 7.4.33-1+deb11u14 を購読者向けに提供 公式ページ
Debian forky(testing) php8.4 修正版なし(Debian の追跡ページは vulnerable 表示。現在のパッケージは 8.4.26-1) 公式ページ
Debian sid(unstable) php8.4 8.4.27-1 公式ページ

RHEL

環境 修正済み版数(この版以上) 出典(ベンダー公式)
RHEL 10 php8.4 8.4.27-1.el10_2 RHSA-2026:87071
RHEL 10 php(8.3) 8.3.36-1.el10_2 RHSA-2026:87070
RHEL 9 php:8.4 修正パッケージなし(Red Hat の表示: Affected、アドバイザリなし) 公式ページ
RHEL 9 php:8.3 8.3.36-1.module+el9.8.0+25109+6886e21a RHSA-2026:87079
RHEL 9 php:8.2 8.2.35-1.module+el9.8.0+25111+a1450321 RHSA-2026:87072
RHEL 9 php(標準、PHP 8.0) 8.0.30-8.el9_8.1 RHSA-2026:87151
RHEL 8 php:8.2 8.2.35-1.module+el8.10.0+25110+f67151d2 RHSA-2026:87073
RHEL 8 php:7.4 7.4.33-8.module+el8.10.0+25117+30337cca RHSA-2026:87080
RHEL 7 修正パッケージなし(Red Hat の表示: CVE-2026-109618 は Under investigation、CVE-2026-109619 は Not affected) 公式ページ
RHEL 6 修正パッケージなし(表示は RHEL 7 と同じ。ELS 契約がある場合は Red Hat の案内に従う) 公式ページ

Rocky Linux / Oracle Linux / AlmaLinux

環境 修正済み版数(この版以上) 出典(ベンダー公式)
Rocky Linux 10 php8.4 8.4.27-1.el10_2 RLSA-2026:87071
Rocky Linux 10 php(8.3) 8.3.36-1.el10_2 RLSA-2026:87070
Rocky Linux 9 php:8.3 8.3.36-1.module+el9.8.0+40396+4e680bb7 RLSA-2026:87079
Rocky Linux 9 php:8.2 8.2.35-1.module+el9.8.0+40395+2f706e64 RLSA-2026:87072
Rocky Linux 9 php(標準、PHP 8.0) 8.0.30-8.el9_8.1 RLSA-2026:87151
Rocky Linux 9 php:8.4 アドバイザリ未確認(10/22時点で、このCVEを名指しした情報が見つからない) 公式ページ
Rocky Linux 8 php:7.4 7.4.33-8.module+el8.10.0+40393+c071e357 RLSA-2026:87080
Rocky Linux 8 php:8.2 アドバイザリ未確認(10/22時点で、このCVEを名指しした情報が見つからない) 公式ページ
Oracle Linux 10 php8.4 8.4.27-1.el10_2 ELSA-2026-87071
Oracle Linux 10 php(8.3) 8.3.36-1.el10_2 ELSA-2026-87070
Oracle Linux 9 php(標準、PHP 8.0) 8.0.30-8.el9_8.1 ELSA-2026-87151
Oracle Linux 8 アドバイザリ未確認(10/22時点で、このCVEを名指しした情報が見つからない) 公式ページ
AlmaLinux 8 / 9 / 10 アドバイザリ未確認(10/22時点で、このCVEを名指しした情報が見つからない) AlmaLinux errata 8、9、10

Amazon Linux

環境 修正済み版数(この版以上) 出典(ベンダー公式)
Amazon Linux 2023 php8.5 8.5.12-1.amzn2023.0.1 ALAS2023-2026-3304
Amazon Linux 2023 php8.4 8.4.27-1.amzn2023.0.1 ALAS2023-2026-3303
Amazon Linux 2023 php8.3 8.3.36-1.amzn2023.0.1 ALAS2023-2026-3302
Amazon Linux 2023 php8.2 8.2.35-1.amzn2023.0.1 ALAS2023-2026-3301
Amazon Linux 2023 php8.1 修正パッケージなし(Amazon の表示: No Fix Planned) 公式ページ
Amazon Linux 2 extras php8.2 8.2.35-1.amzn2.0.1 ALAS2PHP8.2-2026-015
Amazon Linux 2 標準リポジトリの php 修正パッケージなし(Amazon の表示: No Fix Planned) 公式ページ

Alpine

環境 修正済み版数(この版以上) 出典(ベンダー公式)
Alpine 3.24 php85 8.5.12-r0 Alpine secdb
Alpine 3.24 php84 8.4.27-r0 Alpine secdb
Alpine 3.24 php83 8.3.36-r0 Alpine secdb
Alpine 3.23 以前の各 PHP パッケージ PHP が入っている community リポジトリのサポートが終了済み(3.23 は 2026-05-01)。修正版なし Alpine リリース情報

Docker・Windows・Homebrew・XAMPP

環境 修正済み版数(この版以上) 出典(ベンダー公式)
Docker 公式イメージ php:8.5 8.5.12 Docker Hub
Docker 公式イメージ php:8.4 8.4.27 Docker Hub
Docker 公式イメージ php:8.3 8.3.36 docker-library/php のコミット
Docker 公式イメージ php:8.2 8.2.35 docker-library/php のコミット
Docker 公式イメージ php:8.1 / 8.0 / 7.4 修正済みの公式イメージなし(EOL) php.net 対応バージョン
Windows 版(windows.php.net)8.3 8.3.36 windows.php.net
Homebrew php@8.3 8.3.36 Homebrew
XAMPP 公式の配布物に修正済みの同梱版なし(同梱は最大 PHP 8.2.12 など) Apache Friends

Remi(RHEL 系)、ondrej/php PPA、packages.sury.org などの第三者リポジトリも、2026年10月21日付で 8.2.35〜8.5.12 に相当するビルドが並んでいます。ただし OS 公式の表とは比べられないため、ここには載せていません。

5. サポート終了の PHP(7.4 / 8.0 / 8.1)

系統 サポート終了日 最終リリース PHP 公式の対応
7.4 2022年11月28日 7.4.33 ソースのバックポートのみ(リリースなし)
8.0 2023年11月26日 8.0.30 同上
8.1 2025年12月31日 8.1.34 同上

出典:php.net Unsupported Branches、php.net 告知。7.3 以前については、php.net は移植版に触れていません。

  • 番号だけでは「安全」と言えません。第4節のとおり、OS ベンダーが修正を取り込んだ場合だけ修正済みです(Ubuntu 22.04 の 8.1、RHEL 9 の標準 php(8.0)、RHEL 8 の php:7.4 など)。
  • 一方、Debian 11 は Debian 自身の修正がなく、有償の Freexian Extended LTS が購読者向けに提供しています。Amazon Linux 2023 の php8.1 と Amazon Linux 2 の標準 php は、Amazon が No Fix Planned と表示しています。Docker 公式イメージの 8.1 / 8.0 / 7.4 にも、修正済みイメージはありません。
  • 修正が取り込まれていない環境は、サポート中の系統へ移行することをおすすめします。PHP 8.2 のセキュリティサポートは 2026年12月31日までなので(php.net 対応バージョン)、移行先は 8.3 以降が無難です。更新の前にはバックアップを取ってください。

6. レンタルサーバーの状況(公式案内の要約)

共用サーバーでは、利用者が PHP 本体を更新できないことが多く、ホスト側が修正を当てます。番号が変わらないこともあります(mixhost は「8.4.26 のまま」と案内、ConoHa WING・お名前.com・カラフルボックスは「利用中のバージョンを維持したまま」と案内)。そのため、画面の番号ではなく、各社の公式案内を見てください。以下は、2026年10月22日 15:36 JST までに確認できた公式案内の要約です。対応済みと書かれていても、案内にない部分(番号や詳細)は確認できません。

サービス 公式案内の要旨 出典
さくらのレンタルサーバ / マネージドサーバ コントロールパネルから選べるすべての PHP バージョンで対応を完了と案内。phpMyAdmin は対応中、ウェブメールは 13:45 に完了と追記。お客様の緊急対応はなしとしている さくら お知らせ
エックスサーバー PHP 8.2〜8.5 は対象のすべてのサーバーで修正パッチの適用が完了(6:45)、PHP 7.4〜8.1 も完了(公式 X、12:08)。PHP 7.3 以前は順次適用中。シンレンタルサーバー・Xserverビジネス・スターレンタルサーバーは同社の全社向け案内に含まれるが、案内にこれらの製品名は書かれていない 公式 X
ロリポップ! 公式 X(13:11)で、修正版を適用してお客様のサイトを再開と案内。公式の修正版がない旧バージョンにも独自の修正を適用としている 公式 X
ヘテムル PHP 8 系と 7.4 は公式の修正版を適用、それ以外は公式の修正内容に基づく独自の修正。PHP 8.1 以下では一部の機能を無効にしていると案内 ヘテムル お知らせ
ConoHa WING 利用中の PHP バージョンを維持したまま、サーバーへのセキュリティパッチを順次適用中と案内 ConoHa お知らせ
お名前.com レンタルサーバー 同様に、利用中バージョンのままパッチを順次適用中。PHP 5 系・7 系では変更が必要な場合もあるとしている お名前.com お知らせ
カラフルボックス 全サーバーで保護措置と修正版へのアップデートが 10月22日朝までに完了。利用中のバージョンのまま、お客様の対応は不要としている カラフルボックス お知らせ
mixhost 10:18 ごろ、全サーバーで修正パッケージの適用を完了。対象は PHP 5.2〜8.5 で、本家が修正対象から外したバージョンは CloudLinux 提供の独自パッケージで対応。版数は変わらない(例:8.4.26 のまま) mixhost お知らせ
CORESERVER V1/V2・XREA・VALUESERVER(バリュードメイン) CORESERVER V2 は提供中のすべての PHP バージョンで対応完了(11:13)。V1・XREA・VALUESERVER は PHP 7.4 以上で完了。それより古いバージョンには触れていない CORESERVER V2、XREA、VALUESERVER
Oneレンタルサーバー PHP 8.0 以上で対応完了。それより古いバージョンには触れていない お知らせ
KAGOYA レンタルサーバー レンタルサーバープランの PHP 8.2〜8.5 は、修正版へのバージョンアップで対応を調整中(10:35 更新)。他のプランは恒久対応の方針を調整中で、暫定策として公開停止やアクセス制限などの検討を求めている KAGOYA お知らせ
レンタルサーバーCPI 最新パッチが提供されているバージョンは急ぎ対応中(14:10 更新)。パッチがないバージョンは今後更新するとしている。不正アクセスや攻撃は確認されていないとしている CPI
WebARENA SuiteX 緩和策(アクセス制限など)の実施を案内。PHP の修正を適用したとは書かれていない WebARENA お知らせ

「対応完了」と書かれていても、サイトの表示が止まっていたり機能が一時停止していたりする場合があります(管理画面やメール機能など)。詳細は各社の案内を見てください。

7. 確認をまとめて行いたい場合

ここまでの確認(PHP の版数、Linux パッケージの版数、Docker タグを、修正済みの版数と比べる作業)を、ブラウザの中だけで行えるチェッカーを作って公開しています。貼り付けた内容はどこにも送信されず、サイトへのアクセスもしません。あくまで版数を比べるだけで、安全を保証するものではありません。
php2shellcheck.com(日本語)

8. 出典(PHP 公式・脆弱性データベース)

更新履歴

  • 2026-10-22 19:02 JST 公開(版数と状況は 15:48 JST 時点の確認内容)
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?