IPBUF安全漏洞报告
English
CVE-2025-68917 CVSS 6.4 中危

CVE-2025-68917: ONLYOFFICE Docs评论编辑表单存在XSS跨站脚本漏洞

披露日期: 2025-12-24

漏洞信息

漏洞编号
CVE-2025-68917
漏洞类型
XSS
CVSS评分
6.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
ONLYOFFICE Docs DocumentServer

相关标签

XSS跨站脚本ONLYOFFICEDocumentServer存储型XSSCVE-2025-68917办公软件文档协作平台Web应用漏洞

漏洞概述

CVE-2025-68917是存在于ONLYOFFICE Docs文档服务器中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞影响9.2.1之前的所有版本。攻击者可以在文档评论编辑功能的textarea表单组件中注入恶意JavaScript脚本代码。当其他用户查看包含恶意代码的评论时,这些脚本将在其浏览器上下文中执行,可能导致会话Cookie被盗取、用户敏感信息泄露、甚至进一步发起针对该用户账户的恶意操作。此漏洞的CVSS评分为6.4,属于中等严重程度,攻击复杂度低且不需要特殊权限,攻击者只需拥有低权限账户即可利用此漏洞。由于ONLYOFFICE Docs广泛应用于企业文档协作环境,该漏洞可能影响大量使用该平台进行文档管理和协作的组织。ONLYOFFICE DocumentServer是开源办公套件的核心组件,负责处理文档的转换、编辑和协作功能,其安全性对整体办公环境至关重要。

技术细节

该XSS漏洞源于ONLYOFFICE Docs DocumentServer在处理评论编辑表单的textarea输入时,未对用户提交的内容进行充分的输入验证和输出编码。攻击者可以利用这一缺陷,在评论字段中嵌入包含JavaScript代码的恶意payload。当受害者(其他用户)查看包含恶意评论的文档时,浏览器会解析并执行这段注入的脚本代码。由于脚本在受害者的浏览器上下文中执行,攻击者可以访问该用户的会话Cookie、localStorage中的认证令牌,以及页面中可见的敏感文档内容。攻击者通常使用常见的XSS payload技术,如`<script>alert(document.cookie)</script>`或事件处理器属性`onerror`、`onload`等来触发恶意代码执行。在某些场景下,攻击者还可能利用JavaScript执行CSRF攻击,在受害者不知情的情况下执行未授权操作。修复后的版本9.2.1增加了对评论输入内容的严格过滤和HTML实体编码,防止恶意脚本被浏览器解析执行。

攻击链分析

STEP 1
步骤1:侦察和信息收集
攻击者识别目标环境是否使用ONLYOFFICE Docs文档服务器,并确定其版本号是否低于9.2.1。通过访问公开的CHANGELOG或版本信息页面确认漏洞存在性。
STEP 2
步骤2:获取低权限账户
攻击者需要拥有一个有效的ONLYOFFICE Docs用户账户(低权限即可)。可以通过注册、社交工程或其他方式获取账户访问权限。
STEP 3
步骤3:构造恶意payload
攻击者构造包含恶意JavaScript代码的XSS payload,常用方式包括script标签、事件处理器属性(如onerror、onload)或SVG元素注入。
STEP 4
步骤4:注入恶意评论
攻击者打开目标文档,进入评论编辑功能,在评论textarea中输入恶意payload并提交。在漏洞版本中,系统未对输入进行过滤和编码,直接存储了恶意代码。
STEP 5
步骤5:等待受害者访问
攻击者等待其他用户(受害者)访问包含恶意评论的文档。受害者可以是文档协作者或任何有权限查看该文档的用户。
STEP 6
步骤6:触发XSS执行
当受害者打开文档查看评论时,浏览器会渲染评论内容并执行注入的JavaScript代码。恶意脚本在受害者的浏览器上下文中运行。
STEP 7
步骤7:窃取敏感信息或进一步攻击
攻击者通过JavaScript代码窃取受害者的Cookie、会话令牌、文档内容等敏感信息,或者利用窃取的认证信息发起进一步的攻击,如会话劫持或横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-68917 XSS PoC for ONLYOFFICE Docs Comment Editing Form // This PoC demonstrates the stored XSS vulnerability in the comment textarea // Method 1: Basic script tag injection const xssPayload1 = '<script>alert(document.domain)</script>'; // Method 2: Event handler injection (img onerror) const xssPayload2 = '<img src=x onerror=alert(document.cookie)>'; // Method 3: Event handler injection (body onload) const xssPayload3 = '<body onload=alert("XSS")>'; // Method 4: SVG injection const xssPayload4 = '<svg onload=alert(document.location)>'; // Function to demonstrate the attack flow function exploitXSS() { // Step 1: Attacker injects malicious comment const maliciousComment = { action: 'submitComment', documentId: 'target_document_id', commentText: xssPayload2, userId: 'attacker_user_id' }; console.log('[+] Attacker injects XSS payload into comment field'); console.log('[+] Payload:', maliciousComment.commentText); // Step 2: Payload is stored without proper sanitization // In vulnerable version < 9.2.1, the payload is saved as-is // Step 3: Victim views the document with the malicious comment console.log('[+] Victim opens the document'); console.log('[+] XSS payload executes in victim\'s browser context'); console.log('[+] Attacker can steal cookies, session tokens, etc.'); return maliciousComment; } // Execute exploit demonstration exploitXSS();

影响范围

ONLYOFFICE Docs DocumentServer < 9.2.1

防御指南

临时缓解措施
如果无法立即升级到修复版本,可采取以下临时缓解措施:1)禁用或限制文档评论功能的使用;2)在Web应用层(WAF/IPS)配置XSS防护规则,拦截包含常见XSS特征的请求;3)提醒用户不要点击来源不明的文档链接;4)监控ONLYOFFICE服务的访问日志,及时发现可疑的注入行为;5)考虑使用浏览器安全插件增加客户端防护。但这些措施仅为临时解决方案,最根本的修复方式是尽快升级到官方发布的9.2.1或更高版本。

参考链接

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