【活用ガイド】

JVNDB-2026-005964

Debian等の複数ベンダの製品における信頼できないデータのデシリアライゼーションに関する脆弱性

概要

PHPUnitはPHP用のテストフレームワークです。バージョン12.5.8、11.5.50、10.5.62、9.6.33、および8.5.52より前のバージョンには、PHPTテスト実行時のコードカバレッジデータの安全でないデシリアライズに関する脆弱性が発見されました。この脆弱性は`cleanupForCoverage()`メソッドに存在し、コードカバレッジファイルを検証なしにデシリアライズするため、悪意のある`.coverage`ファイルがPHPTテスト実行前に存在するとリモートコード実行の可能性があります。この脆弱性は、本来テスト実行前に存在すべきでない`.coverage`ファイルが`allowed_classes`パラメータ制限なしにデシリアライズされることで発生します。ローカルファイル書き込み権限を持つ攻撃者は、`__wakeup()`メソッドを持つ悪意のある直列化オブジェクトをファイルシステムに配置でき、コードカバレッジ計測を有効にしたテスト実行時に任意のコードを実行させることが可能です。この脆弱性を悪用するためには、PHPTテスト用のコードカバレッジファイルを保存または期待する場所へのローカルファイル書き込みアクセスが必要です。これはCI/CDパイプライン攻撃、ローカル開発環境、および/または侵害された依存関係を通じて発生する可能性があります。メンテナは、単に`['allowed_classes' = false]`によって入力を静かに無害化するのではなく、PHPTテスト用の既存の`.coverage`ファイルの異常状態を明示的なエラー条件として扱うことを選択しました。バージョン12.5.8、11.5.50、10.5.62、9.6.33以降では、PHPTテスト実行前に`.coverage`ファイルが検出されると、PHPUnitは異常状態を明確に示すエラーメッセージを出力します。組織は、エフェメラルランナー、コードレビュー強制、ブランチ保護、アーティファクト分離、およびアクセス制御を含む適切なCI/CD設定によって、この脆弱性の実質的なリスクを低減できます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.8 (重要) [その他]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


Debian
  • Debian GNU/Linux 11.0
Sebastian Bergmann
  • PHPUnit 8.5.52 未満
  • PHPUnit 10.0.0 以上 10.5.62 未満
  • PHPUnit 11.0.0 以上 11.5.50 未満
  • PHPUnit 12.0.0 以上 12.5.8 未満
  • PHPUnit 9.0.0 以上 9.6.33 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

Debian GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 信頼できないデータのデシリアライゼーション(CWE-502) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-24765
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-24765
  2. 関連文書 : Release PHPUnit 10.5.63  sebastianbergmann/phpunit  GitHub
  3. 関連文書 : Release PHPUnit 8.5.52  sebastianbergmann/phpunit  GitHub
  4. 関連文書 : Release PHPUnit 11.5.50  sebastianbergmann/phpunit  GitHub
  5. 関連文書 : Release PHPUnit 12.5.8  sebastianbergmann/phpunit  GitHub
  6. 関連文書 : Do not run PHPT test when its temporary file for code coverage inform…  sebastianbergmann/phpunit@3141742  GitHub
  7. 関連文書 : Release PHPUnit 9.6.33  sebastianbergmann/phpunit  GitHub
更新履歴

  • [2026年03月05日]
      掲載