针对 CVE-2025-70886 的概念验证(PoC)利用程序,该漏洞是 Halo CMS(v2.22.4 及更早版本)中的一个持久性拒绝服务漏洞,允许远程攻击者通过提交畸形负载导致管理评论界面崩溃。
Halo v2.22.4 及更早版本存在一个问题,允许远程攻击者通过向公开评论提交接口发送特制负载引发拒绝服务。
攻击者可以通过公开评论提交接口提交一个经过精心制作的/畸形的评论负载(缺少 subjectRef.version 等字段)。该畸形评论被存储后,当管理评论页面读取/渲染它时将触发未处理异常,导致评论管理页面持续拒绝服务,直到删除违规记录或修复服务器端验证/处理逻辑。
运行结束时,摘要 任务会发布一个表格,显示每个 Halo 版本及其状态:
likely_vulnerable — API 在检查期间返回 HTTP 500。not_confirmed — API 未返回 HTTP 500。结果:https://github.com/HowieHz/CVE-2025-70886/actions/runs/21742076721
⚠️ 警告:仅限授权测试环境使用
克隆 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: 显示帮助信息验证漏洞