CVE-2026-35196Chamilo LMS 2.0.0-RC.3之前版本存在OS命令注入漏洞。由于`export_all_certificates`接口未对会话中的课程代码进行过滤,攻击者可通过操纵session数据注入Shell元字符,从而在服务器上执行任意系统命令。该漏洞可能导致敏感信息泄露、数据篡改或服务中断。
该漏洞位于Chamilo LMS的`main/inc/ajax/gradebook.ajax.php`文件中,具体触发点为`export_all_certificates`动作。代码逻辑缺陷在于,系统通过`api_get_course_id()`函数从全局会话变量`$_SESSION['_cid']`获取课程代码,随后未经过任何安全过滤(如`escapeshellarg()`转义),直接将其拼接到`shell_exec()`函数的参数中执行系统命令。攻击者利用低权限账户登录后,若能通过某种方式操纵或污染Session数据中的`_cid`字段,注入分号、管道符等Shell元字符,即可在服务器端执行任意恶意指令。成功利用此漏洞可导致服务器被完全控制,攻击者可读取敏感文件、篡改数据库甚至造成服务拒绝,对业务安全构成严重威胁。