IPBUF安全漏洞报告
English
CVE-2026-35460 CVSS 4.3 中危

CVE-2026-35460 Papra平台HTML注入漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-35460
漏洞类型
HTML注入
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Papra

相关标签

HTML注入Papra钓鱼攻击CWE-79中危

漏洞概述

Papra是一个极简主义的文档管理和归档平台。在26.4.0版本之前,其事务性邮件模板在处理用户显示名称时存在安全缺陷。系统直接将用户名插入到HTML邮件模板中,未进行任何转义或清理处理。攻击者可以注册一个包含恶意HTML标签的显示名称,这些标签随后会被注入到账户验证或密码重置邮件的正文中。由于这些邮件来自合法的官方域名,攻击者利用此漏洞可以伪造极具欺骗性的钓鱼攻击,诱导用户点击恶意链接或窃取凭证。该漏洞在26.4.0版本中已得到修复。

技术细节

该漏洞的根本原因在于Papra平台在构建事务性邮件(如注册验证邮件、密码重置邮件)时,使用了不安全的模板渲染机制。具体而言,后端代码直接将用户数据库中的`user.name`字段值通过字符串插值的方式嵌入到HTML邮件模板中,而没有使用上下文感知的转义函数(如HTML实体编码)。攻击者利用此漏洞的流程如下:首先,攻击者在Papra平台上注册一个新账户,并将显示名称设置为包含恶意HTML代码的字符串(例如`<a href='http://evil.com'>点击重置密码</a>`)。当系统触发向该用户发送邮件的逻辑时,模板引擎会将原始的用户名直接渲染到邮件正文中。由于邮件的发件人地址是官方域名,收件人很难辨别真伪。虽然现代邮件客户端通常会阻止JavaScript执行以防止XSS,但注入伪造的链接足以实施高效的钓鱼攻击,破坏了系统的完整性。

攻击链分析

STEP 1
步骤1:恶意注册
攻击者在Papra平台注册新账户,并将显示名称设置为包含恶意HTML标签(如钓鱼链接)的内容。
STEP 2
步骤2:触发邮件发送
攻击者或系统触发发送事务性邮件(如密码重置或验证邮件)的流程。
STEP 3
步骤3:内容注入
后端邮件模板引擎直接将未经转义的攻击者昵称渲染到HTML邮件正文中。
STEP 4
步骤4:实施钓鱼
受害者收到来自官方域名的邮件,其中包含攻击者注入的恶意链接,若点击则可能导致凭证泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL target_url = "https://papra.app/api/register" # Malicious payload: HTML injection in the display name # This injects a fake verification link pointing to an attacker-controlled server malicious_name = "<a href='http://attacker-controlled-site.com/steal'>Click Here to Verify</a>" payload = { "email": "[email protected]", "password": "SecurePassword123!", "name": malicious_name # Vulnerable field } try: response = requests.post(target_url, json=payload) if response.status_code == 201: print("[+] Registration successful. Check the email for the injected HTML.") else: print(f"[-] Registration failed. Status code: {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

Papra < 26.4.0

防御指南

临时缓解措施
建议立即将Papra平台升级至26.4.0或更高版本。如果无法立即升级,应在邮件发送逻辑中添加对用户显示名称的HTML实体转义处理,或限制注册时用户名仅允许包含安全字符,以防止HTML标签注入。

参考链接

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