CVE-2026-34365InvoiceShelf是一款开源的Web及移动端应用,用于费用跟踪与发票管理。在2.2.0版本之前,该应用的估算单PDF生成模块存在服务器端请求伪造(SSRF)漏洞。用户在估算单的“备注”字段中输入的HTML内容未经充分过滤,直接被传递给Dompdf渲染库。由于Dompdf在渲染时会自动获取HTML中引用的远程资源,攻击者可利用此特性通过PDF预览或客户视图端点探测内网服务。该漏洞需要高权限用户账号才能利用,并在2.2.0版本中已修复。
该漏洞的核心在于InvoiceShelf对用户提供的HTML输入缺乏有效的安全清理。当拥有高权限的用户(如管理员)在创建或编辑估算单时,可以在“Notes”字段中插入包含特定URL引用的HTML标签(例如`<img>`标签)。系统在生成PDF预览时,会调用Dompdf库将此HTML转换为PDF。Dompdf默认支持解析并加载HTML标记中的外部资源,这意味着它会向攻击者指定的URL发起HTTP请求。攻击者可以利用这一点,将URL指向内网敏感地址(如localhost、AWS元数据服务IP)或文件协议(如果未禁用)。通过观察服务器的响应或DNS解析记录,攻击者可以确认内网端口开放情况或窃取敏感数据。由于CVSS评分要求PR:H,利用门槛主要在于获取高权限账户,但一旦成功,将对内网机密性造成严重影响。