CVE-2026-33618Chamilo LMS在2.0.0-RC.3之前的版本中存在严重的远程代码执行漏洞。该漏洞源于`PlatformConfigurationController::decodeSettingArray()`方法不安全地使用了PHP的`eval()`函数来解析数据库中的平台设置。攻击者在获得管理员权限后,可在设置中注入任意恶意PHP代码。当任何用户(包括未认证用户)请求`/platform-config/list`接口时,这些代码将被服务器执行,从而完全控制目标系统。
该漏洞的根本原因是Chamilo LMS在处理配置数据时,直接将数据库存储的配置字符串传递给PHP的`eval()`函数进行执行。`eval()`函数会将字符串当作PHP代码执行,这属于极度危险的编程实践。攻击链通常分为两个阶段:首先,攻击者利用其他漏洞(如Advisory 1)获取系统的后台管理员权限;其次,攻击者利用管理员权限修改特定的平台设置项,将包含恶意PHP函数(如`system()`、`shell_exec()`等)的代码注入到配置字段中。由于系统逻辑设计缺陷,当任何用户访问`/platform-config/list`路由时,后端会调用`decodeSettingArray()`方法读取并解析这些被污染的配置,导致`eval()`执行攻击者注入的代码,从而在服务器端实现无差别的远程代码执行。