CVE-2026-31940Chamilo LMS在1.11.38和2.0.0-RC.3之前版本存在会话固定漏洞。由于main/lp/aicc_hacp.php文件直接使用用户控制的请求参数设置PHP会话ID,攻击者可预设恶意会话ID诱导用户使用,待用户认证后劫持其会话,造成严重安全风险。
该漏洞的根本原因在于Chamilo LMS未对输入参数进行严格校验。在处理AICC HACP请求时,main/lp/aicc_hacp.php脚本直接从用户请求中获取参数值,并将其传递给PHP的session_id()函数,从而强制设置当前会话的ID。由于此操作发生在全局安全引导加载之前,缺乏常规的安全检查机制。攻击者可以通过构造特定的恶意链接(包含预设的Session ID),诱骗未登录的受害者点击。当受害者完成身份验证后,系统会继续使用攻击者预设的Session ID。此时,攻击者无需知道受害者的凭据,仅需使用该预设ID即可访问受害者的账户,完全接管用户权限。