PHPの緊急修正版が公開、4系統の最新版へ更新を

PHPの緊急修正版が公開、4系統の最新版へ更新を ITニュース

PHPのセキュリティ修正版が、2026年10月21日(日本時間23時)に公開されました。認証なしでリモートコード実行につながりうる重大な脆弱性2件(CVE-2026-109618・CVE-2026-109619)が直り、WordPressなどPHPで動くサイトの運営者や、PHPのシステムを預かる情シスは更新の確認が必要です。出典はPHP GitHubのセキュリティアドバイザリとPHP Foundationの公式ブログです。

PHPの修正版は4系統、まず自分のバージョンを確認

結論から言うと、PHPは8.5.12・8.4.27・8.3.36・8.2.35のいずれかへ、今すぐ更新するのがおすすめです。公式は直ちに更新するよう呼びかけていて、更新以外に完全な緩和策はないとしています。

使っているPHP 更新先
8.5系 8.5.12
8.4系 8.4.27
8.3系 8.3.36
8.2系 8.2.35

これより前のバージョンが対象です。PHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webからのリクエストを処理する構成はすべて影響を受けます。公式は、中でもmod_phpのリスクが最も高いとしています。

前日に書いた予告の記事の続報にあたります。予告の段階では分からなかった、対象バージョンと修正内容がこれで出そろいました。

PHPの脆弱性2件、何が起きるのか

どちらもCVSS v4で9.2の重大な欠陥です。

  • CVE-2026-109618: メモリ不足(OOM)のときの処理で、初期化の途中の内部データが有効なものとして扱われてしまう欠陥です。マルチパートの解析で引き起こせます。mod_phpの既定設定で検証されていて、アプリのコードが動き出す前に、認証のないリクエストで攻撃される可能性があります。詳細はアドバイザリにあります
  • CVE-2026-109619: リクエスト専用の内部状態が、解放されたあとのメモリを指したまま残る欠陥です。同じワーカーが次に処理するリクエストで使われてしまいます。確認された経路は、PHP 8.5のfatal_error_backtracesと、session.upload_progressです。詳細はこちらのアドバイザリにあります

PHP Foundationは、リリースの時点で、実際に動く攻撃コードは確認されていないとしています。ただ、予告の情報が漏れたために、リリースは当初の22日から21日に前倒しされました。漏れた情報にはCVSS 10.0という誤った数字が含まれていて、実際は9.2でした。

PHPを更新できないときの暫定策

更新が間に合わない場合の、部分的な緩和策も示されています。完全な対策ではなく、設定を変えたあとはワーカーの再起動が必要です。

対象 示されている緩和策
CVE-2026-109619 session.upload_progress.enabled=0(不要なら更新後も維持)、PHP 8.5ではfatal_error_backtraces=0
CVE-2026-109618 post_max_sizeを控えめにする、マルチパートの部品数・アップロード数を制限する、使わないならフロント側でマルチパートを遮断する
; CVE-2026-109619 の部分的な緩和策(更新の代わりにはならない)
session.upload_progress.enabled=0

設定を変えると、アップロード進捗を使う機能に影響することがあります。本番に入れる前に、検証環境で試すのがおすすめです。

PHP 8.1以前とレンタルサーバーはどうする

PHP 8.1以前は、PHPプロジェクトからの更新が出ません。ディストリビューションやLTSベンダーが修正を移植している場合があるので、まずベンダーに確認します。見つからなければ、サポート中のバージョンへの移行を検討してください。なお、PHP 8.2のサポートは2026年12月31日に終了します。

ディストリビューションとLTSベンダーには、事前にパッチが渡されています。パッケージの更新が出ていないか、確認してください。ボランティア運営のrpms.remirepo.netは、この日は更新が出ないため、ディストリビューションのパッケージかソースビルドへの切り替えが勧められています。

レンタルサーバーを使っている場合は、各事業者の対応状況が分かりません。事業者のお知らせを確認し、PHPのバージョンを選べる環境なら、更新先のバージョンを選んでおきます。

すでに攻撃されていないか、PHPの侵害の確認ポイント

JPCERT/CCは、2026年10月22日付の注意喚起で、国内でも対象のPHPが広く使われていると確認し、影響の有無の確認と、対策・侵害調査を呼びかけています。確認の目安は次の3つです。

  1. 異常に長いPHPSESSIDのCookieが、応答に設定されていないか
  2. 不審なmultipart/form-dataのリクエストの前後に、メモリ上限に関するエラーやHTTP 500が出ていないか
  3. PHPのワーカーが異常終了したり、頻繁に再起動したりしていないか

ログに痕跡がなくても、安全とは言い切れません。更新したあとも、しばらくは様子を見ておきたいところです。

PHPを組み込んだ製品も影響を受ける可能性があります。JVNに、JVNVU#99905564として2件が公開されています。ソリトンシステムズの製品が例として挙がっていて、使っている場合は、製品ベンダーの案内を確認してください。

現場で起きそうなこと

これは実際にあった話ではなく、ありがちな想定です。

自社サイトは更新したのに、社内の業務システムや、昔に作った別のサーバーのPHPが古いまま残っている、という流れです。冷蔵庫の手前のものは片づけたのに、奥の棚の賞味期限切れに気づかないのと似ています。PHPが動いている場所を洗い出し、バージョンを一覧にしてから更新すると、取りこぼしを防げます。

PHPの更新のおすすめの順番

  1. PHPを使っているサーバーとバージョンを洗い出す
  2. 8.5.12・8.4.27・8.3.36・8.2.35のどれに上げるかを決めて更新する
  3. 更新後にワーカーを再起動し、サイトが動くことを確認する
  4. すぐ更新できないものは、緩和策を入れて更新の日程を決める
  5. ログを見て、侵害の痕跡がないかを確認する

ほかのITの話題は、技術ネタの記事一覧からどうぞ。2026年10月22日時点の情報です。

ITもごはんも、腹八分目が長続きのコツ!

コメント