
先日、PHP 公式は緊急セキュリティ公告を発表し、CVSS 9.2 という深刻度の高いリモートコード実行(RCE)脆弱性を2件公開しました。これらは PHP 8.2、8.3 を含む複数の主要ブランチに影響します。また、2026年10月21日夜に修正済みの PHP バージョンがリリースされました。本記事では脆弱性のリスクを簡潔に分析し、さまざまなサーバー環境で PHP をスムーズにアップグレードするための詳細な操作ガイドを提供します。
一、 事件の背景:PHP 公式が CVSS 9.2 の緊急パッチをリリース
2026年10月21日、PHP 公式セキュリティチームは緊急で一連のセキュリティ修正アップデートを配信し、2件の深刻な未認証リモートコード実行(Unauthenticated RCE)脆弱性を修正しました:
- CVE-2026-109618(メモリオーバーフロー破壊脆弱性)
- CVE-2026-109619(グローバル状態残留脆弱性)
これら2つの脆弱性の CVSS v4.0 スコアはなんと9.2 点、影響範囲は PHP-FPM、Apachemod_php、LiteSpeed、FrankenPHP など、ほぼすべての一般的な Web 実行環境に及びます。攻撃者は特定の条件下でログインなしに悪意のあるコード実行をトリガーでき、サーバーセキュリティに深刻な脅威をもたらします。
公式は緊急で修正パッチバージョンをリリースしました:
- PHP 8.2ユーザーは以下にアップグレードする必要があります8.2.35以上
- PHP 8.3ユーザーは以下にアップグレードする必要があります8.3.36以上
- PHP 8.4ユーザーは以下にアップグレードする必要があります8.4.27以上
- PHP 8.5ユーザーは以下にアップグレードする必要があります8.5.12以上
ほとんどのサイト管理者や運用担当者にとって、最も徹底的で安全な解決策はサーバー上の PHP をできるだけ早く最新のセキュリティバージョンにアップグレードすることです。
二、PHP アップグレード前の重要な準備作業
サーバーのアップグレード操作を実行する前に、バージョン変更によるサイト業務の中断を防ぐため、以下の保護措置を必ず講じてください:
- サイト全体とデータベースのバックアップ:スナップショット、WP Panel バックアップ、宝塔パネルバックアップ、または
mysqldumpで完全なデータをバックアップします。 - プラグイン/テーマの互換性を確認:WordPress サイトの場合、コアおよびプラグインがすべて最新版に更新されていることを確認してください(特に PHP 8.2/8.3 からクロスバージョンで 8.4 にアップグレードする場合)。
- 旧バージョンの記録
php.ini設定:重点的に記録するupload_max_filesize、memory_limit、opcacheおよび拡張ロード項目(Redis、Swoole など)。アップグレード後に設定が上書きされるのを防ぎます。
三、異なる環境での PHP アップグレード操作ガイド
1. WP Panel パネル
WP Panel を使用していてアラート通知を設定している場合、パネルがシステム更新の存在を自動的に通知します。WP Panel の管理画面にログインし、設定画面のシステム更新でワンクリック更新ボタンをクリックするだけで修復が完了します。(表示されない場合は、手動で更新をクリックしてシステムに更新を検出させてから更新してください)

更新完了後、ソフトウェア管理画面で PHP バージョンが 8.3.36 になっていれば、これら2つのバグが正常に修復されたことを意味します。

2. 宝塔パネル

宝塔パネルまたはパネルを使用している場合、アップグレード手順は以下の通りです:
- ソフトウェアストアの更新:パネルにログインし、【ソフトウェアストア】に入り、右上の„ソフトウェアリストを更新“ボタンをクリックして更新し、使用中の PHP バージョンの後ろにある更新ボタンをクリックします。
- メジャーバージョン間の置き換え(例:7.0 から 8.3 へ):以前使用していた古いバージョンの PHP が今回の更新修復の対象外である場合、修復済みのバージョンを直接インストールするのが最善です。まず古いバージョンの PHP をアンインストールし、次に修復済みの新しいバージョンの PHP をインストールし、その後サイト管理画面で PHP バージョンを新しいバージョンに切り替えます(古いサイトの場合、PHP バージョンの切り替えで互換性の問題が発生する可能性が高く、追加の修復が必要です)。
3. Debian / Ubuntu システム(PPA / 公式リポジトリ)
Linux ネイティブのパッケージマネージャーを使用するサーバーでは、公式リポジトリから直接パッチを適用してアップグレードできます:
Bash
# 1. 更新软件包列表
sudo apt update
# 2. 检查是否有 PHP 可更新版本
apt list --upgradable | grep php
# 3. 升级所有 PHP 相关软件包
sudo apt --only-upgrade install "php8.3*"
# 4. 重启 PHP-FPM 与 Web 服务器
sudo systemctl restart php8.3-fpm
sudo systemctl restart nginx
注:Ondřej Surý の PPA リポジトリを使用している場合、公式アップデートは通常リリース後ごく短時間で同期されます。
4. RHEL / Rocky Linux / AlmaLinux(Remi リポジトリ)
Bash
# 1. 清理并更新 yum/dnf 缓存
sudo dnf clean all
sudo dnf check-update
# 2. 升级 PHP 及其扩展包
sudo dnf upgrade "php*"
# 3. 重启服务
sudo systemctl restart php-fpm
sudo systemctl restart nginx
5. Docker コンテナ化環境
アプリケーションが Docker または Docker Compose にデプロイされている場合、脆弱性の修復はさらに簡単です:
- 開く
docker-compose.yml或Dockerfile。 - PHP イメージのバージョンを最新のマイナーバージョンにプル調整します(例:
php:8.3-fpm-alpine)。 - 実行とリファクタリング:Bash
docker compose pull docker compose up -d --build
四、アップグレード後の検証と確認
アップグレード完了後、以下の2つの方法で修正が有効になったか検証できます:
- コマンドラインでバージョン確認:Bash
php -v出力されたバージョン番号が以下以上であることを確認8.3.36(または対応ブランチのセキュリティバージョン)。 - FPM / プローブ出力を確認: 一時的な
info.phpファイルを作成(テスト後すぐに削除してください):PHP<?php phpinfo(); ?>ブラウザでアクセスし、Web側の環境が確かに新しい PHP-FPM バージョンを読み込んでおり、関連拡張(Redis OPcache など)が正常に有効化されていることを確認します。
五、一時的な緩和策(すぐにアップグレードできない場合)
業務上の依存関係により PHP コアをすぐにアップグレードできない場合は、まず設定を調整して攻撃リスクを低減できます:
- session アップロード進捗機能を無効化(CVE-2026-109619 の緩和):
php.iniで設定:Ini, TOMLsession.upload_progress.enabled = 0 - リクエストボディサイズを適切に制限(CVE-2026-109618 の緩和):
post_max_sizeを適切な値(例:16M或32M)に制限し、Nginx / Apache 層でclient_max_body_sizeを制限して、巨大なリクエストが直接 PHP プロセスに到達するのを防ぎます。
ヒント:一時的な対策は既知の攻撃経路を部分的に遮断するのみであり、公式セキュリティパッチを速やかに適用することが唯一の根本的な解決策です。
まとめ
AIの発達に伴い、これまで発見されなかった脆弱性がますます多く見つかるようになりました。WordPress の動作も PHP に依存しているため、たとえあなたのサイト自体にセキュリティ問題がなくても、今回の脆弱性を修正した PHP バージョンをインストールしていなければ、サイトがハッカーに侵入される可能性があり、その結果„安全でない“というレッテルが WordPress に貼られてしまいます。
あなたのサイトとサーバーの安全のため、すぐにアップグレードしてください。アップグレード方法が分からない場合は、サービスプロバイダのサポートに問い合わせるか、Naiba に有料で対応を依頼できます。