CVE-2025-45806rrweb-snapshot是rrweb项目的一个组件,用于记录和重放DOM快照。在v2.0.0-alpha.18版本之前,该组件存在一处跨站脚本(XSS)漏洞。攻击者可以通过精心构造的恶意载荷,利用该漏洞在受害者的浏览器中执行任意Web脚本或HTML代码。由于该漏洞无需认证且攻击复杂度低,可能导致用户敏感数据泄露或会话劫持。
该漏洞根因在于rrweb-snapshot库在序列化和反序列化DOM节点时,未能严格区分安全数据与可执行代码。具体而言,当快照数据中包含经过特殊构造的HTML元素(例如利用SVG标签的foreignObject特性或特定的DOM属性)时,库在重建DOM的过程中未对其进行转义处理。攻击者首先需要找到能够影响快照数据生成的输入点,或者直接篡改已存储的快照数据。一旦受害者加载了包含恶意载荷的页面,嵌入的脚本将在受害者的浏览器上下文中运行。这允许攻击者窃取Cookie、Session ID等敏感凭据,甚至执行进一步的操作,如钓鱼攻击或利用浏览器的其他API。由于CVSS评分显示需用户交互(UI:R),通常意味着受害者需要点击链接或查看特定的录制回放页面才会触发。