PHPのサポート終了とは?PHP 8.1以前を使っている場合の選択肢(PHP2Shell対応)

WindowsMac更新

PHPの開発元のサポート終了ブランチの一覧によると、PHP 8.1は2025年12月31日にサポートが終了し、最後のリリースは8.1.34でした。2026年10月21日に2件の重大な脆弱性が修正されたときも、8.1以前には新しいバージョンは出ていません。この記事は2026年10月23日時点の情報です。

要点

2026年10月23日時点でセキュリティ修正が出るのはPHP 8.2、8.3、8.4、8.5だけで、8.2も2026年12月31日に終わります。8.1以前のサイトは、サーバー会社に修正の取り込み状況を確認し、WordPressなどとプラグインを更新したうえで、サポート中のバージョンへ移行します。IPAも移行の検討を求めています。

セキュリティ修正が出ているPHPのバージョンは?

PHPの開発元の「Supported Versions」ページには、4つのブランチ(系列)が載っています。各ブランチは、最初の安定版から2年間は全面的にサポートされ、その後の2年間は重大なセキュリティ問題の修正だけが行われます。この4年が終わるとブランチはサポート終了(end of life)になり、サポートされなくなります。

ブランチ全面サポートセキュリティ修正
8.22024年12月31日まで2026年12月31日まで
8.32025年12月31日まで2027年12月31日まで
8.42026年12月31日まで2028年12月31日まで
8.52027年12月31日まで2029年12月31日まで

PHP 8.1、8.0、7.4のサポートはいつ終わりましたか?

PHPの開発元のサポート終了ブランチの一覧には、次の日付と最後のリリースが載っています。

  • PHP 8.1:2025年12月31日、最後のリリースは8.1.34
  • PHP 8.0:2023年11月26日、最後のリリースは8.0.30
  • PHP 7.4:2022年11月28日、最後のリリースは7.4.33

サポート終了の意味も、開発元ははっきり書いています。「Supported Versions」ページによると、サポートが終わったリリースの利用者は、修正されていないセキュリティの脆弱性にさらされるおそれがあるため、できるだけ早くアップグレードするべきだとされています。

10月21日のアドバイザリは古いバージョンについて何と言っていますか?

アドバイザリには「PHP 8.1 and older no longer receive updates from the PHP project.」(PHP 8.1以前には、PHPの開発元からの更新はもう提供されません)とあります。続けて、一部のLinuxディストリビューションや長期サポート(LTS)の提供元が修正を独自に取り込んでいる(バックポートしている)ので、提供元に確認するか、サポート中のバージョンに移行するよう求めています。バックポートとは、新しいバージョン向けの修正を古いバージョンに移植することです。

アドバイザリによると、PHPのセキュリティチームは脆弱性の深刻さを考え、PHP 7.4、8.0、8.1向けに最小限のソースコードの修正も公開しました。ただし、これは自分でPHPをビルドする人や、LTSの提供元を利用できない人向けのものです。7.4、8.0、8.1の新しいリリースは出ていません。JPCERT/CCの注意喚起も、8.1以前はアップデートが提供されないため、サポートされているバージョンへのアップグレードが推奨されていると書いています。

サポート中のブランチの修正版は8.5.12、8.4.27、8.3.36、8.2.35です。自分のバージョンの調べ方はPHPのバージョン確認方法で説明しています。

アメリカのCISAは、古いバージョンについてもっと強い言い方をしています。すぐに更新できない組織や、PHP 8.1以前のサポート外のバージョンを使い続けている組織は、修正や更新ができるまでPHPを使ったシステムをオフラインにするべきだとしています。

PHP 8.2は安全ですか?いつまで使えますか?

8.2系の修正版はPHP 8.2.35です。ただし、php.netのリリース告知には、PHP 8.2は2026年12月31日にサポートが終わり、その後はセキュリティ修正が出ないので、サポート中のバージョンへのアップグレードを計画するように、と書かれています。

つまり、8.2.35のサイトは10月21日の2件の修正は入っていますが、開発元からのセキュリティ修正は残り約10週間です。いま8.1から移るなら、8.3以上に直接上げれば移行は一度で済みます。WordPress日本語版の「PHP の更新」ページも、PHP 8.3以上を推奨しています。

古いバージョンを使っている場合、どんな選択肢がありますか?

ブログや団体のサイト、小さなネットショップなら、作業はたいてい自分とサーバー会社で分担することになります。

  1. サーバー会社に2つ質問します。 私のサイトはどのバージョンのPHPで動いていますか。8.1以前なら、CVE-2026-109618とCVE-2026-109619の修正をそのバージョンに取り込んでいますか。PHPのアドバイザリは古いバージョンの利用者に提供元への確認を求めています。レンタルサーバーなら、その提供元はサーバー会社です。
  2. サイトを移行できる状態にします。 WordPressの「PHP の更新」ページは、PHPを変える前にバックアップを取り、テーマやプラグインの互換性を確認するよう勧めています。WordPress本体はPHP 7.4でも動きますが、テーマやプラグインが新しいバージョンで動くかはわからない、とも書いています。順番はWordPressのPHPを更新する方法で説明しています。WordPress以外のCMSを使っている場合は、そのCMSの公式ドキュメントで対応しているPHPのバージョンを確認してください。
  3. サポート中のバージョンに移行します。 サイトの準備ができたら、サーバー会社に切り替えを依頼するか、管理画面で選べるなら自分で切り替えます。IPAは、修正プログラムが提供されないバージョンを使っている場合は、サポートされているPHPへの更新や、対策済みの製品・サービスへの移行を検討するよう求めています。

どれもすぐにできない場合、上のCISAの助言は、修正や更新ができるまでサイトをオフラインにすることです。

すぐに移行できないときはどうすればよいですか?

IPAの10月22日の発表には「修正対応が難しい場合について」という項目があり、次のように段階を追って考えるよう勧めています。

  1. サポート状況を確認します。 8.1以前はサポートが終わっています。
  2. 暫定対策をとります。 更新や移行が終わるまで、脆弱な状態のまま放置せず、環境に合った暫定対策やアクセス制限を検討します。有効な暫定対策が難しい場合は、外部からのアクセスの遮断やサービスの一時停止が必要か判断します。
  3. サイトの役割を見直します。 そのサイトがいまも果たしている役割や、他のサービスで代わりがきくかを確認します。IPAは、長く更新していないシステムでは、改修や動作確認が必要になったり、当時の資料や担当者がいなかったりして、対策が難しくなっている場合があると書いています。
  4. 今後の方針を決めます。 更新後も維持していく体制が見込めなければ、保守を受けられる製品・サービスへの移行や、公開の終了も含めて検討するよう求めています。

サポートが終わったソフトウェアについて、公的機関は何と言っていますか?

イギリスのNCSCは、サポートが終わった製品についての指針で、すべてのソフトウェアはいずれ古くなるとしています。開発元がセキュリティ更新をやめると、攻撃者に悪用できる脆弱性が知られる可能性が高まり、時間がたつと高度な技術がない攻撃者でも悪用できる新しい脆弱性が見つかる、とも書いています。

そのうえで、このリスクを完全に防ぐ唯一の方法は、サポートが終わった製品を使うのをやめることだとしています。すぐには難しい場合があることも認めつつ、リスクを抱えたまま使い続けるよりアップグレードを勧めています。短期間使い続けると決めた場合も、その判断を定期的に見直すよう求めています。PHP 8.1以前のサイトにとっては、PHPの開発元やIPAと同じ結論、つまりサポート中のバージョンへの移行になります。

よくある質問

PHP 7.4もPHP2Shellの影響を受けますか?

IPAによると、調査に関わったWiz社は、PHP 5.4以降のバージョンはいずれかの脆弱性の影響を少なくとも受けるとしています。PHPのセキュリティチームは7.4向けに最小限の修正を公開しましたが、7.4の正式な新リリースは出ていません。サーバー会社に修正の取り込み状況を確認し、サポート中のバージョンへの移行を計画してください。

サーバー会社がPHP 8.1に修正を取り込んだと言っています。それで十分ですか?

PHPのアドバイザリは、一部の提供元が修正を取り込んでいるので確認するよう求めています。確認する相手はサーバー会社で合っています。ただ、8.1のサポートが終わっていることは変わりません。IPAもNCSCも、サポート中のバージョンや製品への移行を勧めています。

新しいバージョンにするとサイトが壊れませんか?

壊れることもあり得るので、順番が大切です。WordPressの「PHP の更新」ページは、PHPの更新は通常問題ないはずだが保証はできないとして、先にバックアップと互換性の確認をするよう勧めています。うまく動かないときは、まずサーバー会社にPHPのバージョンを元に戻してもらい、それからバックアップで元に戻す、という手順です。

2026年12月31日を過ぎたらPHP 8.2はどうなりますか?

PHPの開発元によると、8.2はその日以降セキュリティ修正が出なくなるので、サポート中のバージョンへのアップグレードを計画するよう求めています。8.2のサイトも、8.1以前と同じサポート外のバージョンになります。

出典