CVE-2026-33628Invoice Ninja v5.13.0版本存在一处存储型跨站脚本(XSS)漏洞。该漏洞源于发票行项目描述字段未正确调用`purify::clean()`进行过滤,导致攻击者能绕过XSS拒绝列表并植入恶意载荷。当受害者在PDF预览或客户端门户渲染受感染的发票时,载荷将被触发。这可能造成敏感信息泄露或会话劫持。厂商已在v5.13.4版本中通过添加净化函数修复了此问题。
该漏洞位于基于Laravel框架的Invoice Ninja应用中。在v5.13.0版本,系统虽实施了XSS拒绝列表过滤机制,但在处理发票行项目描述字段时存在逻辑缺陷。该字段在接收用户输入后,未经过必要的`purify::clean()`函数进行严格净化,导致攻击者能够构造特定的恶意HTML或JavaScript载荷(如利用事件处理器绕过基础过滤)并成功存储至数据库。由于这是存储型漏洞,恶意载荷会持久存在。当具有低权限的攻击者诱导受害者(如系统管理员或客户)在客户端门户或生成PDF预览时渲染该发票,后端模板引擎会将未经过滤的描述字段直接输出至HTML上下文中,进而触发恶意代码执行,可能导致账户劫持或敏感数据窃取。