
本記事では、PHP2Shell(CVE-2026-109618、CVE-2026-109619)の概要と影響範囲を整理したうえで、修正パッチの適用手順、更新後の確認方法、注意点をわかりやすく解説します。
1. PHP2Shellとは?企業が早急に対応すべき理由
PHP2Shellとは、PHP本体に存在する2つの重大なセキュリティ脆弱性の総称です。対象となるのは、次のCVE番号で管理されている脆弱性です。
-
CVE-2026-109618:メモリ不足時の処理に関連する脆弱性
-
CVE-2026-109619:リクエスト処理後に古いメモリ状態が再利用される問題に関連する脆弱性
いずれも悪用された場合、認証されていない第三者によってリモートから任意のコードを実行される可能性があります。システムの設定や実行権限によっては、サーバー内のデータや業務情報が危険にさらされるおそれがあります。
また、これらはPHP本体に関係する問題であるため、特定のCMSやフレームワークだけを更新しても、PHPランタイムが脆弱なままであれば十分な対策にはなりません。
WordPress、Drupal、JoomlaなどのPHPを利用するWebサイトや、独自開発の業務システムも含め、PHPが動作する環境を確認することが重要です。
2. PHP2Shellの影響を受けるバージョンと修正版
2026年10月21日に公開されたPHPの修正版は、次のとおりです。
| PHPのブランチ | 修正版 |
|---|---|
| PHP 8.5系 | 8.5.12以降 |
| PHP 8.4系 | 8.4.27以降 |
| PHP 8.3系 | 8.3.36以降 |
| PHP 8.2系 | 8.2.35以降 |
上記の各ブランチでは、記載したバージョンより前のリリースが影響を受けます。PHP 8.1以前については、PHPプロジェクトによる通常のサポートが終了しているため、原則としてサポート対象のバージョンへの移行を検討してください。
なお、UbuntuなどのLinuxディストリビューションでは、独自に修正をバックポートしたパッケージが提供される場合があります。その場合、PHPのバージョン表示が上記の修正版と一致しなくても、修正が適用されている可能性があります。OSベンダーのセキュリティ情報も確認しましょう。
3. PHPのバージョンを確認する方法
修正パッチを適用する前に、対象システムで実際に稼働しているPHPのバージョンを確認します。
手順1:コマンドでPHPのバージョンを確認する
Linuxサーバーなどでコマンドを実行できる場合は、次のコマンドを使用します。
php -v
実行結果の例:
PHP 8.4.26 (cli) (built: ...)
この例ではPHP 8.4.26が表示されているため、公式の修正版である8.4.27以降への更新が必要です。
ただし、このコマンドで確認できるのは主にCLI版のPHPです。WebサイトがPHP-FPMやApacheのmod_phpなど、別のPHP実行環境を使用している場合、コマンドの結果とWebサイト側の実行バージョンが異なることがあります。
手順2:Webサーバー側のPHPを確認する
次の項目を確認してください。
-
Webサーバーが使用しているPHPのバージョン
-
PHP-FPM、mod_php、php-cgiなどの実行方式
-
複数バージョンのPHPがインストールされていないか
-
Dockerコンテナや外部サービスにPHPが含まれていないか
レンタルサーバーを利用している場合は、管理画面のPHP設定を確認するか、サーバー管理会社に問い合わせます。
なお、バージョン情報を公開する目的で、phpinfo()をインターネットからアクセス可能な状態にすることは避けてください。確認用ファイルを作成した場合も、確認後は必ず削除します。
4. PHP2Shellの修正パッチを適用する手順
修正方法は、サーバーのOS、PHPのインストール方法、運用環境によって異なります。以下は代表的な手順です。
手順1:バックアップと作業計画を準備する
更新前に、次の項目を確認します。
-
Webサイトと業務データのバックアップ
-
PHP設定ファイルのバックアップ
-
現在のPHPバージョンとインストール済みパッケージ
-
PHP拡張機能やライブラリの依存関係
-
メンテナンス時間と切り戻し手順
本番環境でいきなり更新するのではなく、可能であれば検証環境で動作を確認してから適用します。
手順2:Ubuntu環境でPHPを更新する
Ubuntuのパッケージ管理機能を使用してPHPをインストールしている場合は、まずパッケージ情報を更新します。
sudo apt update
続いて、インストール済みパッケージの更新を実行します。
sudo apt upgrade
PHP関連パッケージだけを更新する必要がある場合は、環境に応じて次のコマンドも利用できます。
sudo apt install --only-upgrade '?name(^php[0-9.]+$)'
ただし、実際に更新されるパッケージは、OSのバージョン、利用中のリポジトリ、提供されているセキュリティ修正によって異なります。コマンドの実行後は、更新対象と結果を確認してください。
Ubuntu以外のLinux、Windows、Docker、独自ビルドのPHPを利用している場合は、それぞれの提供元が案内する手順に従います。
手順3:WebサーバーやPHP-FPMを再起動する
パッケージを更新しただけでは、実行中のプロセスが古いPHPを使い続ける場合があります。更新したPHPを確実に利用するため、関連サービスの再起動が必要です。
Apacheを使用している場合の例:
sudo systemctl restart apache2
PHP-FPMを使用している場合は、実際のサービス名を確認したうえで再起動します。
sudo systemctl restart php8.4-fpm
上記のサービス名は例です。実際のPHPバージョンや構成に合わせて変更してください。
NginxとPHP-FPMの構成では、通常、PHP-FPMの再起動を中心に対応します。設定変更の有無に応じて、Webサーバー側の設定検証や再読み込みも実施します。
本番環境では、再起動による一時的なサービス停止や処理中のリクエストへの影響を考慮し、作業時間を調整しましょう。
5. 修正パッチ適用後の動作検証
パッチ適用後は、PHPのバージョンだけでなく、Webサイトや業務システムが正常に動作していることも確認します。
確認項目1:PHPのバージョン
再度、次のコマンドを実行します。
php -v
表示されたバージョンが修正版以降であることを確認します。ただし、OSベンダーによるバックポートを利用している場合は、ベンダーのセキュリティ情報やパッケージの更新履歴も確認してください。
確認項目2:Webサイトの表示
トップページだけでなく、ログイン画面、問い合わせフォーム、管理画面など、主要なページを実際に操作します。
確認項目3:主要機能の動作
次の機能を中心に確認します。
-
ログイン、ログアウト、セッション管理
-
ファイルのアップロードとダウンロード
-
データベースへの登録、更新、検索
-
メール送信や外部APIとの連携
-
定期実行処理やバックグラウンド処理
確認項目4:ログとサービスの状態
PHP、PHP-FPM、Webサーバーのエラーログを確認します。更新後にエラーが増加していないか、プロセスが異常終了していないか、レスポンスが遅くなっていないかを確認してください。
検証が完了したら、作業日時、更新対象、適用したパッケージ、テスト結果を記録しておきましょう。
6. すぐにパッチを適用できない場合の対応
業務上の制約などで直ちに更新できない場合は、対象システムの公開範囲や重要度を評価し、暫定措置を検討する必要があります。
PHP公式の案内を確認し、環境に応じて一時的な緩和策を適用してください。ただし、設定変更やプロセスの再起動だけでは、脆弱性を完全に解消できません。
対応が難しい場合は、インターネットからのアクセス制限や、必要に応じたサービスの一時停止も検討します。
また、更新前後のログを調査し、不審なリクエスト、予期しないプロセスの起動、見覚えのないファイルの作成などがないか確認することも重要です。
パッチの適用は、すでに侵入されたシステムを自動的に正常化するものではありません。 不正アクセスの痕跡がある場合は、影響範囲を調査し、認証情報の変更や侵害された環境の復旧を含めた対応が必要です。
7. PHP2Shellへの対応でよくある質問
Q1. WordPressを最新版に更新すれば対策は完了しますか?
いいえ。WordPress本体やプラグインの更新だけでは、PHP本体の脆弱性が解消されるとは限りません。PHPの実行環境も確認し、必要な修正を適用してください。
Q2. PHPのバージョンが修正版なら、再起動は不要ですか?
更新後も古いプロセスが稼働している場合があります。PHP-FPMやWebサーバーの構成に応じて必要な再起動を実施し、実際に修正済みの環境が利用されていることを確認してください。
Q3. 古いPHPを使い続けている場合はどうすればよいですか?
PHP 8.1以前など、通常のサポートが終了したバージョンについては、サポート対象のPHPへの移行を優先的に検討してください。ベンダーが提供する修正済みパッケージを利用できる場合もありますが、継続的なセキュリティ更新を受けられる構成に移行することが重要です。
Q4. パッチ適用後にエラーが発生した場合はどうすればよいですか?
まずPHPとWebサーバーのログを確認し、依存ライブラリやPHP拡張機能との互換性を調査します。必要に応じて、事前に用意した切り戻し手順を実施してください。ただし、脆弱な状態への切り戻しはセキュリティリスクを伴うため、公開範囲を制限するなどの対策と並行して、速やかに修正を進めましょう。
8. PHP2Shell対策はバージョン確認と検証まで確実に実施する
PHP2Shell(CVE-2026-109618、CVE-2026-109619)は、PHPを利用するWebシステムに重大な影響を及ぼす可能性がある脆弱性です。企業は、修正版の公開情報を確認し、対象となるPHP環境への迅速な対応を進める必要があります。
今回の対応では、次の5点が重要です。
-
PHPを利用しているサーバー、アプリケーション、コンテナを洗い出す。
-
実際に稼働しているPHPのバージョンを確認する。
-
正しい修正パッケージを適用し、必要なサービスを再起動する。
-
Webサイト、主要機能、ログを確認して動作を検証する。
-
不審なアクセスや侵害の兆候を調査し、再発防止につなげる。
セキュリティパッチの適用は、単なるバージョンアップではありません。業務への影響を抑えながら、安全性とシステムの継続稼働を両立させるための重要な運用プロセスです。
PHPの更新方法がわからない、古いシステムへの影響が心配、社内に対応できるエンジニアが不足しているといった課題がある場合は、専門家による環境調査や更新計画の策定を検討しましょう。迅速な状況把握と適切な対応が、事業継続と情報資産の保護につながります。
ハトネット は、全国の IT 企業間の現場の IT 担当者を結び付け、雇用主が効果的かつ専門的な方法でリソースを最大限に活用し、コストを節約できるよう支援します。
IT 業界で最大 500,000 人の人々を接続します。
パートナーを見つけるコストを節約します。
小さなご要望でも、いつでもオンラインでお申し込みください。
※お問い合わせ:
メール: hello@hatonet.com
アカウントを登録する
どこでも企業 コミュニティから高品質エンジニアリング リソースに接近することができます。
- レガシーモダナイゼーション 20
- AIモダナイゼーション 30
- ベトナムの文化 13
- IT人材市場 280
- お知らせ 13
- 会員紹介 13



