2026年10月21日
セキュリティ勧告:重大なリモートコード実行の脆弱性、今すぐアップデートしてください
PHP 8.5.12、8.4.27、8.3.36、および8.2.35では、認証なしでリモートコード実行を可能にする2つの重大な脆弱性が修正されています。すべてのPHPユーザーは、直ちにアップデートすることを強くお勧めします。
リスクにさらされるのは、 PHP-FPM、mod_php を搭載した Apache、php-cgi、FrankenPHP、LiteSpeed など、Web リクエストを処理するすべての PHP インストール環境です。mod_php については、認証されていないリクエストによってアプリケーション コードが実行される前に攻撃がトリガーされるという脆弱性が確認されているため、リスクが最も高いと考えています。
脆弱性:
OOM破損によるRCE、CVE-2026-109618(GHSA-w8hw-w9fx-j79w):メモリ不足処理により、内部リクエストデータが部分的にしか初期化されていない状態でPHPが中断される可能性があります。その結果、リクエストのクリーンアップ処理で無効なデータが有効なデータとして扱われる可能性があります。
古いグローバル状態を介したリモートコード実行(RCE)、CVE-2026-109619(GHSA-6wmf-4rv5-p3rp):リクエストが所有する内部状態は、そのバッキングメモリが解放された後も残存する可能性があります。同じワーカーによって処理される後続のリクエストは、通常の初期化によってリセットされる前に、その古い状態を使用する可能性があります。
更新方法:
PHPを8.5.12、8.4.27、8.3.36、または8.2.35にアップデートしてください。ソースコードはダウンロードページからダウンロードできます。Windows版のソースコードとバイナリは同じページにあります。
LinuxディストリビューションおよびLTSベンダーは事前にパッチを受け取っているため、ベンダーに最新のパッケージがないか確認してください。
PHP 8.1以前のバージョンは、PHPプロジェクトからのアップデートが提供されなくなりました。一部のディストリビューションやLTSベンダーはバックポートされた修正プログラムを提供しているため、詳細についてはベンダーにお問い合わせいただくか、サポートされているバージョンにアップグレードしてください。
ボランティアが管理しているリポジトリに依存している場合はrpms.remirepo.net、すぐにアップデートを適用できるよう、配布パッケージに切り替えるか、ソースからビルドすることを強くお勧めします。本日はリポジトリの更新はありません。
これらの脆弱性の深刻さを考慮し、PHPセキュリティチームは、ソースコードからビルドするユーザーやLTSベンダーにアクセスできないユーザーを支援するため、 PHP 7.4、PHP 8.0、PHP 8.1向けの最小限のソースバックポートを提供しました。
すぐにアップデートできない場合:アップデートだけが完全な解決策ではありませんが、以下の対策は特定の攻撃経路への脆弱性を軽減しますが、インストールを完全に安全にするものではありません。
OOM破損によるRCE(リモートコード実行)の脆弱性(CVE-2026-109618):
memory_limit=-1アプリケーションが上書きできない方法(FPMプールやApacheの設定など)で設定し、php_admin_valueプール、ディレクトリ、アプリケーションの設定で有限の制限が再び設定されていないことを確認してください。これにより、制御可能なPHPメモリ制限の失敗は解消されますが、根本的な割り当ての失敗によって脆弱なパスに到達する可能性は依然として残ります。
を低く設定しますpost_max_size。ファイルアップロードを必要としないアプリケーションの場合は、 を設定しますpost_max_size = 8M。ファイルアップロードが必要な場合は、 を設定しますpost_max_size = 32M。upload_max_filesizeを 未満に保ちますpost_max_size。デコードされたリクエストサイズ、入力フィールド数、マルチパートパート数、ヘッダー数、およびネスト深度について、Webサーバーまたはプロキシレベルで制限を適用することを検討してください。これらの制限は、使用可能な がないリクエストも対象とする必要がありますContent-Length。
可用性境界としてコンテナまたはcgroupの制限を使用してください。できれば、影響を受けるワーカーのみを強制終了するポリシーを設定してください。RLIMIT_ASや を 代用しないでくださいRLIMIT_DATA。これらは脆弱な割り当て障害を引き起こす可能性があります。
古いグローバル状態を介したリモートコード実行(CVE-2026-109619):
すべてのワーカーを設定しsession.upload_progress.enabled=0て再起動します。php.iniリクエスト解析の前に適用される FPM プールまたはサーバー構成を使用します。ini_set()または FPMに依存しないでください.user.ini。これにより、確認済みのセッション パスはブロックされますが、他のバリアントはブロックされません。
PHP 8.5では、fatal_error_backtraces=0すべてのワーカーを設定して再起動してください。これにより、致命的なバックトレースパスのみがブロックされます。
初期化前に診断情報を出力する、リクエストごとに適用された無効または非推奨の設定を削除します。error_reporting、または を使用して診断情報を非表示にしてdisplay_errors も@効果はありません。
攻撃者からアクセス可能な致命的なエラーや実行タイムアウトを修正します。これには、コールバック、アップロードまたはインポート処理、およびクリーンアップにおける失敗が含まれます。
上記リンク先の勧告には、詳細な技術情報が記載されています。
引用先:https://www.php.net/archive/2026.php#2026-10-20-1
参照先:https://www.ipa.go.jp/security/security-alert/2026/pre-alert20261021.html
Views: 3
