最終更新: 2026-10-22 (UTC)

PHP 脆弱性:PHP 8.1 から 8.4 への移行PHP vulnerability · PHP2Shell · CVE-2026-109618 / CVE-2026-109619 · PHP RCE · PHP security update

PHP 脆弱性 PHP2Shell(CVE-2026-109618 / CVE-2026-109619)への対応には、Web 用 PHP の更新が必要です。配布元、完全なパッケージ番号、実行プロセスを確認し、PHP RCE 対策の PHP security update を適用します(php vulnerability)。

PHP2Shell · CVE-2026-109618 / CVE-2026-109619

PHP 脆弱性 の修正とブランチ移行

まず配布元の PHP2Shell バックポートを確認し、PHP 8.1 から 8.4 への移行をテストします。修正によって EOL ブランチの上流サポートが復活するわけではありません。アプリと拡張機能を検証してから本番のブランチを変更してください。

PHP 8.2 の互換性変更

以下は PHP 公式移行ガイドの要約です。拡張機能固有の変更は原文も確認してください。

  • 変更内容

    標準文字列関数の大文字・小文字変換は locale 依存ではなく ASCII ベースになります。

    コードで確認する箇所

    strtolower()、strtoupper()、locale に依存する比較。

    PHP 8.2 の公式移行ガイド ↗
  • 変更内容

    str_split() は空文字列に対して空配列を返します。

    コードで確認する箇所

    空要素が一つ入った配列を想定するコード。

    PHP 8.2 の公式移行ガイド ↗
  • 変更内容

    open_basedir が全パスを制限すると glob() は空配列を返します。

    コードで確認する箇所

    glob() の結果を false と厳密に比較する箇所。

    PHP 8.2 の公式移行ガイド ↗

PHP 8.3 の互換性変更

以下は PHP 公式移行ガイドの要約です。拡張機能固有の変更は原文も確認してください。

  • 変更内容

    range() の境界値の型やステップ値の検証が厳密になります。

    コードで確認する箇所

    オブジェクト、配列、ゼロや負のステップを渡す呼び出し。

    PHP 8.3 の公式移行ガイド ↗
  • 変更内容

    number_format() の decimals が負の場合、小数点より前で丸めます。

    コードで確認する箇所

    number_format() の負の decimals 引数。

    PHP 8.3 の公式移行ガイド ↗
  • 変更内容

    日付処理でより具体的な例外・エラークラスを使用します。

    コードで確認する箇所

    DateTime の生成と例外ハンドラー。

    PHP 8.3 の公式移行ガイド ↗

PHP 8.4 の互換性変更

以下は PHP 公式移行ガイドの要約です。拡張機能固有の変更は原文も確認してください。

  • 変更内容

    exit() と die() は通常の型変換を行い、不正な入力で TypeError を投げる場合があります。

    コードで確認する箇所

    文字列でも整数でもない値を渡す呼び出し。

    PHP 8.4 の公式移行ガイド ↗
  • 変更内容

    PHP_DEBUG と PHP_ZTS 定数は真偽値になります。

    コードで確認する箇所

    これらの定数と整数の厳密比較。

    PHP 8.4 の公式移行ガイド ↗
  • 変更内容

    round() は不正な丸めモードで ValueError を投げます。

    コードで確認する箇所

    独自の丸めモードや動的に選択するモード。

    PHP 8.4 の公式移行ガイド ↗

PHP 切り替え前の準備

  • ファイル、設定、データをバックアップし、復元手順を確認します。
  • 検証環境で移行先 PHP と本番と同じ拡張機能を使用します。
  • 依存関係、アプリ、プラグイン、テーマの互換性を確認します。
  • ログイン、アップロード、メール、定期処理、キュー、異常系をテストします。
  • 移行先パッケージに PHP 脆弱性 の修正があり、ブランチがサポート期間内であることを確認します。

PHP 脆弱性:環境別の更新手順を選択

PHP2Shell 対応時のロールバックと復元

正確なパッケージ・イメージ参照と検証済み復元手順を残します。移行失敗時は設定とデータを整合する形で復元してください。脆弱なランタイムに戻すと危険も戻るため、再公開前にベンダー告知を確認します。

PHP 脆弱性 対応後の確認

重要なリクエスト、ログイン、アップロード、ログ、定期処理、バックグラウンドワーカーをテストします。Web 用 PHP をすべて再起動し、各サイトの実行バージョンを確認してください。配布元と完全なリビジョンを記録し、EOL ブランチは移行も計画します。

バージョン確認 →

出典と確認記録

確認日時: 2026-10-22 03:29:51 UTC