IPBUF安全漏洞报告
English
CVE-2026-31017 CVSS 9.1 严重

CVE-2026-31017 ERPNext/Frappe服务端请求伪造漏洞

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-31017
漏洞类型
服务端请求伪造 (SSRF)
CVSS评分
9.1 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
ERPNext, Frappe Framework

相关标签

SSRFERPNextFrappeCWE-918信息泄露PDF Injection

漏洞概述

ERPNext v16.0.1 和 Frappe Framework v16.1.1 的 Print Format 功能中存在严重的服务器端请求伪造(SSRF)漏洞。由于应用程序在将用户提供的 HTML 渲染为 PDF 时未对输入内容进行充分清理,攻击者可嵌入恶意标签。这允许攻击者诱导服务器向内网或云元数据端点发起任意请求,从而无需认证即可窃取敏感信息。

技术细节

该漏洞的根源在于 ERPNext 和 Frappe Framework 在处理 Print Format(打印格式)并将其转换为 PDF 时,缺乏对用户输入 HTML 的有效净化机制。应用程序允许用户自定义 HTML 模板,后端使用 PDF 渲染引擎(如 wkhtmltopdf)进行解析。关键问题在于,渲染引擎在解析过程中会尝试获取 HTML 标签中引用的外部资源。攻击者利用这一特性,在模板中嵌入指向内网敏感地址(如 127.0.0.1 或 169.254.169.254)的 <iframe> 标签。当服务器生成 PDF 时,会代替攻击者向这些内部地址发起 HTTP 请求。由于无需用户交互且无需认证,攻击者可利用此漏洞探测内网拓扑,窃取云实例元数据(如 IAM 凭证),甚至结合其他漏洞进一步渗透内网,造成严重的数据泄露风险。

攻击链分析

STEP 1
步骤1
攻击者识别目标运行的是易受攻击版本的 ERPNext 或 Frappe Framework。
STEP 2
步骤2
攻击者访问 Print Format 功能,创建或编辑一个打印格式,并注入包含恶意 <iframe> 标签的 HTML 代码。
STEP 3
步骤3
攻击者将 <iframe> 的 src 属性设置为内网敏感地址或云服务商的元数据端点(如 169.254.169.254)。
STEP 4
步骤4
攻击者触发 PDF 生成操作(如打印预览或下载),服务器端 PDF 引擎解析 HTML 并向攻击者指定的 URL 发起请求。
STEP 5
步骤5
服务器将请求响应(如云凭证)渲染进 PDF 内容中,攻击者通过查看生成的 PDF 获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2026-31017: SSRF via PDF Generation --> <!-- Attacker injects this HTML into the Print Format configuration --> <html> <body> <h1>Invoice</h1> <!-- The server fetches this URL when generating the PDF --> <iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/role"></iframe> </body> </html>

影响范围

ERPNext v16.0.1
Frappe Framework v16.1.1

防御指南

临时缓解措施
建议立即升级至修复了该漏洞的软件版本。如果无法立即升级,应严格限制用户对 Print Format 的管理权限,仅允许受信任的用户编辑 HTML 模板。同时,在操作系统或网络防火墙层面,阻断应用服务器访问 RFC 1918 定义的私有网段以及云厂商元数据 IP 地址,以防止敏感数据泄露。

参考链接

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