— PHP UPGRADE —

CVE-2026-109618、CVE-2026-109619
PHP の脆弱性について

公開日

2026年10月、Web サイトでよく使われている PHP に、重大な脆弱性(CVE-2026-109618、CVE-2026-109619)が見つかりました。 外部から、サーバー上でプログラムを実行されるおそれがあるものです。 IPA(情報処理推進機構)などからも、早めの対応が呼びかけられました。

保守しているサイトでの対応

いくつかのサイトの保守をさせていただいています。どのサイトもレンタルサーバーを使っていて、PHP の更新などは基本的にサーバー会社にお任せしていたので、これまで特別な対応をしたことはありませんでした。

今回は影響が大きかったので、修正版がサーバーに入るまでの間、次の対応を行いました。

お客様への報告で助かったこと

今回は、首相が X で注意を呼びかけたこともあり、ニュースでも大きく取り上げられました。お客様へ報告したときも、すでに事情をご存じの方が多く、説明がめちゃくちゃ楽でした。

このサイトの PHP も 8.4 に上げました

あわせて、このサイトの PHP も 8.3 から 8.4 に上げました。切り替える前に確かめたことと、切り替えたあとに確かめたことをまとめます。

サポートの期限

PHP は、バージョンごとにサポートの期限が決まっています。期限が過ぎると、脆弱性が見つかっても直してもらえません。

PHP 8.3不具合の修正は 2025年末で終了。セキュリティの修正は 2027年末まで
PHP 8.4不具合の修正は 2026年末まで。セキュリティの修正は 2028年末まで
PHP 8.5不具合の修正は 2027年末まで。セキュリティの修正は 2029年末まで

※ PHP の公式サイトの予定です。

どのバージョンにしたか

使っているレンタルサーバーでは、PHP 8.5(CGI 版)まで選べました。今回は 8.4 にしています。8.5 でも問題になる書き方がないことは、あわせて確認しました。

切り替える前に確かめたこと

  1. 全ファイルの構文チェック。手元の環境(MAMP)の PHP 8.4 で、サイトのすべての PHP ファイルを php -l でチェックしました。
  2. 8.4 で非推奨になった書き方。引数を、型に ? を付けずに = null で null 許容にする書き方などが、使われていないか確かめました。
  3. 8.5 で非推奨になる書き方。念のため、コマンドを実行するバッククォート演算子や、(integer) などの古い型変換も確かめました。
  4. CGI 版で効かなくなる設定。CGI 版では、.htaccess に書いた PHP の設定(php_value / php_flag)が効きません。設定が抜け落ちないよう、書かれていないことを確かめました。

どれも問題はありませんでした。

切り替え

切り替えは、レンタルサーバーの管理画面から行いました。反映されるまで、10分ほどかかります。切り替えた直後に確かめると、まだ前のバージョンで動いていることがあるので、少し待ってから確認しました。

切り替えたあとに確かめたこと

  1. 各ページの表示。トップ、お知らせ、会社概要、お問い合わせ、Lab の各ページが正しく表示され、PHP のエラーや警告(Warning・Deprecated など)が出ていないこと。
  2. 存在しないページ。きちんと 404 になること。
  3. お問い合わせの送信。テストで送信して、メールが届くこと。
  4. Bot Gate の判定。デモで、人間かどうかの判定まで通ること。

思うこと

サーバーの保守は地味な作業で、普段はなかなか気づかれないものです。今回はニュースのおかげで、思いがけず感謝の言葉もいただけて、ちょっと得をした気分でした。

使った技術

サーバー
PHP 8.4(CGI 版)
確認
MAMP(手元の環境)php -l(構文チェック)curl(本番の表示の確認)