「うちのサーバー、PHPが7.4なんですけど、修正版ってどれを入れればいいんですか」

10月22日の朝、こんな相談が届きました。答えにくい質問です。PHP 7.4には、今回の重大な脆弱性(通称PHP2Shell)の公式の修正版が出ていないからです。

この記事では、PHP 8.1のサポート終了以前の古い系統を使い続けているサイトに、どんな選択肢が残っているかを、PHPの公式発表と米国のCISAの注意喚起をもとに整理します。10月23日時点の情報です。

問い 古いPHPには、本当に修正版が出ないのか

まず事実を確かめます。PHPの公式発表によると、今回の修正版は8.5.12、8.4.27、8.3.36、8.2.35の4つです。PHP 8.1以前は、PHPプロジェクトとしての更新はもう出ないとされています。

PHPには系統ごとにサポートの期限があり、期限を過ぎた系統には、原則として欠陥の修正が出ません。PHP 8.1のサポートは2025年12月31日で終わっています。

調べてわかった 例外的に出たもの

ただし今回は、深刻さを理由に、例外的な対応がとられています。

PHPのセキュリティチームは、7.4、8.0、8.1向けに、最小限の修正のソースコード(プログラムの設計図にあたる文字の集まり)を公開しました。完成品のプログラムではなく、自分でPHPを組み立てる(ビルドする)人向けの材料です。

もう1つ、Linuxのディストリビューション(UbuntuやRed Hatなど、Linuxを配布している組織や製品)やLTSベンダー(古い版の保守を有料などで請け負う会社)には、修正が事前に配られていました。こうした会社の中には、古い系統にも修正を移植して配っているところがあります。

逆に言うと、7.3以前や、自分でビルドもできずベンダーの延長サポートもない環境には、手当てがありません。

選択肢は4つ

レンタルサーバーを使っている場合は、まず会社が古い系統にも独自に修正を当てたかを告知で確かめてください。エックスサーバーやさくらインターネットは、古い系統にも修正を当てたと公表しています。当たっていれば当面はしのげますが、新しい系統へ上げる計画は立ててください。

自分でサーバーを管理している場合の選択肢は、次の4つです。

ここまでを踏まえると、PHP 8.1以前を使っているサイトの選択肢は4つです。

1つ目は、新しい系統に上げることです。8.3か8.4に上げるのが、根本的な解決になります。ただ、系統をまたぐとアプリやWordPressのプラグインが動かなくなることがあり、すぐには終わらない場合があります。

2つ目は、ディストリビューションやLTSベンダーの延長サポートで修正を受け取ることです。お使いのサーバーのOSの提供元や、契約している保守会社に、修正が出ているかを確かめてください。

3つ目は、公開された修正を当てて自分でビルドすることです。社内に作業できる人がいる場合に限られます。

4つ目は、修正できるまでサイトを止めることです。CISAは、すぐに更新できない場合や、8.1以前を使っている場合には、修正するまでPHPのシステムをオフラインにするよう求めています。

実際に試した結果

冒頭の相談の会社では、PHP 7.4で動く社内向けの申込みフォームが1つ、インターネットに公開されていました。

その日のうちにやったのは、フォームを一時的に止めて、紙の申込みに切り替えることでした。そのうえで、フォームのプログラムがPHP 8.3で動くかを確かめました。古い書き方が数か所あり、直すのに丸1日かかりましたが、翌日には8.3で再開できました。

私の経験では、止める判断が一番難しい部分でした。担当者の方は「止めると問い合わせが来る」と心配していましたが、実際には「点検中」の掲示に1件問い合わせがあっただけでした。

わかった答え まず止めて、上げる

PHP 8.1以前で動いていて、インターネットに公開しているサイトなら、まず止めることを検討し(サイトを「メンテナンス中」の表示に切り替える。外注しているなら制作会社に依頼する)、その間に新しい系統に上げる。これが、今回いちばん確実な順番です。設定の変更による一時的な対策もありますが、PHPの公式発表は、それで安全になるわけではないとしています。

自分のサイトのPHPのバージョンの確かめ方は、別の記事にまとめました。

残った疑問 8.2も年末で終わる

最後に、見落とされやすい日付を1つ。PHPの公式発表には、PHP 8.2のサポートが2026年12月31日で終わると書かれています。今回8.2.35に更新して安心したサイトも、2か月あまりで同じ立場になります。

PHP 8.1のサポート終了の後も古い系統を使い続けたサイトが、今回いちばん困りました。8.2を使っているサイトは、この機会に8.3以上へ上げる計画を立てておいてください。