事件经过
将 HTML 转换为 PDF 的 AI 代理工具接受任意的 htmlContent,并将其直接送入 WeasyPrint,而没有使用非代理转换端点所用的 HTML 净化器,因此精心构造的 HTML/脚本以不受信任的方式到达渲染器。
影响分析
对于本地托管的文档工具,这缩小为对 PDF 渲染器的 HTML 注入(对生成文档的标记/脚本注入)。这是一个真实但影响范围较小的 AI 表面漏洞,暂无已知利用,定为 C 级。
攻击途径
POST /api/v1/ai/tools/create-pdf-from-html-agent 将攻击者控制的 htmlContent 直接复制到 WeasyPrint,绕过了等效的 /api/v1/convert/html 路径所应用的 CustomHtmlSanitizer。
受影响系统
Stirling-PDF 3.0.0 之前版本
缓解措施
升级到 Stirling-PDF 3.0.0+。修复提交:https://github.com/Stirling-Tools/Stirling-PDF/commit/0570c4c4d9e7bf4786a02ab770ef75f116ac3719