IPBUF安全漏洞报告
English
CVE-2026-33742 CVSS 5.4 中危

CVE-2026-33742 Invoice Ninja存储型XSS漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-33742
漏洞类型
存储型跨站脚本攻击 (Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Invoice Ninja

相关标签

XSSStored XSSInvoice NinjaCWE-79CVE-2026-33742Web Security

漏洞概述

Invoice 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),其危害主要集中在权限提升和数据窃取上。

攻击链分析

STEP 1
1. 信息收集
攻击者确认目标系统使用的是 Invoice Ninja v5.13.0 或更早版本。
STEP 2
2. 获取权限
攻击者注册或使用一个低权限账号(PR:L),获取产品创建或编辑权限。
STEP 3
3. 注入Payload
攻击者在产品的“Product notes”字段中输入包含恶意 JavaScript 的 Markdown/HTML 代码并保存。
STEP 4
4. 触发漏洞
管理员或高权限用户查看包含该受影响产品的发票或报表,浏览器解析未净化的 HTML 并执行恶意脚本。
STEP 5
5. 执行攻击
恶意代码运行,窃取 Session Cookie 或执行其他浏览器端操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC for CVE-2026-33742: Invoice Ninja Stored XSS via Product Notes // Target: Invoice Ninja v5.13.0 // Attackers with low privileges can inject malicious HTML into the 'Product notes' field. // Since the Markdown parser allows raw HTML and it is not sanitized on output, // the script executes when an admin views the invoice. // Malicious Payload to be entered in Product Notes: const payload = "<img src=x onerror=alert('CVE-2026-33742 - Stored XSS')>"; // Alternative Payload (depending on Markdown parser strictness): // const payload = "<script>alert('CVE-2026-33742');</script>"; console.log(`[+] Injecting payload into Product Notes: ${payload}`); // Explanation: // 1. Attacker creates/edits a product. // 2. Pastes the payload into the 'Notes' field. // 3. Saves the product. // 4. The payload is stored in the database. // 5. When an Admin views an invoice containing this product, the XSS triggers.

影响范围

Invoice Ninja v5.13.0
Invoice Ninja < v5.13.4

防御指南

临时缓解措施
建议立即将系统升级到 v5.13.4 版本以彻底修复此漏洞。如果暂时无法升级,应限制普通用户对产品备注字段的编辑权限,并在 Web 应用防火墙(WAF)中添加规则,拦截包含常见 XSS 标签(如 <script>, <img onerror>)的请求流量,以降低被攻击的风险。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表