
CVE-2025-70886の実証コード(PoC)は、Halo CMS(v2.22.4以前)における永続的サービス拒否(DoS)脆弱性であり、リモート攻撃者が不正なペイロードを送信することで管理コメントインターフェースをクラッシュさせるものです。
CVE-2025-70886 の概念実証(PoC)エクスプロイト。この脆弱性は Halo CMS(v2.22.4 およびそれ以前)における持続的なサービス拒否脆弱性であり、遠隔攻撃者が不正なペイロードを送信して管理コメントインターフェースをクラッシュさせることを可能にします。
Halo v2.22.4 およびそれ以前における問題により、遠隔攻撃者が細工されたペイロードを公開コメント送信エンドポイントに送信してサービス拒否を引き起こすことができます。
攻撃者は、公開コメント送信エンドポイントを介して、細工された/不正なコメントペイロード(subjectRef.version などのフィールドが欠落している)を送信できます。不正なコメントは保存され、後で管理コメントページがそれを読み取り/レンダリングする際に未処理の例外を引き起こし、問題のあるレコードが削除されるか、サーバー側の検証/処理が修正されるまで、コメント管理ページの持続的なサービス拒否を引き起こします。
実行終了時に、Summary ジョブが各 Halo バージョンとそのステータスを示す表を公開します。
likely_vulnerable — チェック中にAPIがHTTP 500を返した。not_confirmed — APIがHTTP 500を返さなかった。⚠️ 警告: 許可されたテスト環境のみで使用してください
PoCリポジトリをクローンする
git clone https://github.com/HowieHz/CVE-2025-70886
cd CVE-2025-70886
Halo CMSテストインスタンスをデプロイする
システムを初期化する
PoCスクリプトを実行する(Node.js環境が設定されていることを確認してください。)
node src/poc.js --base-url http://localhost:8090 --payload fixtures/payload.sample.json
使用可能なオプション:
--base-url: HaloサイトのベースURL(例: http://localhost:8090)--payload: キャプチャした有効なコメントペイロードJSONファイルへのパス--dry-run: 変更されたペイロードを表示するのみで送信しない--header: 'Key: Value' 形式の追加ヘッダー(繰り返し可能)--help: ヘルプを表示脆弱性を確認する