IPBUF安全漏洞报告
English
CVE-2026-26028 CVSS 6.1 中危

CVE-2026-26028 CryptPad HTML清理绕过漏洞

披露日期: 2026-05-20

漏洞信息

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

相关标签

HTML注入XSSCryptPad清理绕过CVE-2026-26028

漏洞概述

CryptPad是一款端到端加密的协作办公套件,其在2026.2.0之前的版本中存在严重的安全漏洞。由于Diffmarked.js组件的HTML清理程序存在属性过滤不完整的问题,攻击者可绕过对iframe等受限标签的安全检查。该漏洞允许攻击者在用户文档中注入任意HTML代码,破坏了CryptPad的沙箱隔离机制,可能导致恶意链接注入或更严重的交互式内容攻击。

技术细节

该漏洞的根源在于CryptPad中Diffmarked.js的HTML清理机制存在逻辑缺陷。虽然清理程序定义了禁止和受限标签列表,但`<iframe>`仅被归类为“受限”标签。在执行过滤逻辑时,系统仅校验了`src`属性,却完全忽略了`srcdoc`等其他关键属性。攻击者利用这一盲点,可以构造一个包含合法`blob:`协议`src`属性的iframe标签以通过基础验证,同时利用`srcdoc`属性嵌入恶意HTML或JavaScript代码。这种攻击手法成功绕过了CryptPad设计的bounce沙箱限制,使得恶意代码能够在受害者的浏览器上下文中直接渲染和执行,从而对机密性和完整性构成威胁。

攻击链分析

STEP 1
1. Payload构造
攻击者创建一个包含iframe标签的HTML payload,使用合法的blob: URI作为src属性,并在srcdoc属性中注入恶意代码。
STEP 2
2. 注入Payload
攻击者将构造好的恶意HTML内容粘贴到CryptPad的共享文档中并保存。
STEP 3
3. 触发漏洞
当其他协作用户打开包含恶意内容的文档时,CryptPad的Diffmarked.js清理程序未能过滤srcdoc属性。
STEP 4
4. 恶意执行
受害者的浏览器渲染iframe,直接执行srcdoc中的恶意脚本,绕过沙箱限制。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC: Bypass CryptPad sanitizer using srcdoc --> <!-- The sanitizer checks 'src' but ignores 'srcdoc' --> <iframe src="blob:https://example.com/valid-blob" srcdoc="<img src=x onerror=alert(1)>"></iframe>

影响范围

CryptPad < 2026.2.0

防御指南

临时缓解措施
建议立即检查CryptPad版本并应用官方补丁。在升级前,应限制对敏感文档的编辑权限,并警惕文档中包含的任何iframe内容。

参考链接

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