CVE-2026-33742Invoice Ninja v5.13.0 存在存储型XSS漏洞。由于产品备注字段在Markdown渲染时允许原始HTML,且输出前未使用 `purify::clean()` 净化,攻击者可注入恶意脚本。当用户查看相关发票时脚本被执行,导致会话劫持风险。厂商已在v5.13.4版本中修复此问题。
该漏洞的核心在于 Invoice Ninja 的 Markdown 解析器配置不当以及缺乏输出过滤。在受影响的 v5.13.0 版本中,应用程序允许用户在“Product notes”字段输入 Markdown 格式的文本,而解析器支持直接嵌入原始 HTML 标签。由于开发人员未在渲染阶段对输出内容应用 HTML 净化库(如 DOMPurify 的 `purify::clean()` 方法),攻击者可以构造包含恶意 JavaScript 的 Payload(例如 `<img src=x onerror=alert(1)>`)。一旦该 Payload 被保存到数据库,任何具有查看权限的用户(特别是管理员)在访问包含该产品备注的发票页面时,浏览器都会解析并执行这段恶意代码。鉴于漏洞需要低权限(PR:L)且涉及用户交互(UI:R),其危害主要集中在权限提升和数据窃取上。