CVE-2026-32893Chamilo LMS是一个广泛使用的学习管理系统。在2.0.0-RC.3版本之前,该系统的练习问题列表管理面板中存在一个反射型跨站脚本(XSS)漏洞。由于该漏洞的存在,攻击者可以诱导已认证的教师用户点击特制的恶意链接,从而在受害者的浏览器中执行任意JavaScript代码。该漏洞源于分页代码处理不当,直接将未经过滤的用户输入输出到HTML属性中,目前该问题已在2.0.0-RC.3版本中得到修复。
该漏洞位于Chamilo LMS处理练习问题列表分页功能的代码段中。在处理分页请求时,后端PHP代码使用了`array_merge()`函数来合并`$_GET`全局数组中的所有参数,随后利用`http_build_query()`将这些参数序列化为URL查询字符串。关键的安全缺陷在于,生成的字符串被直接拼接到HTML标签的`href`属性中进行渲染,而在输出之前未经过任何HTML实体编码(如`htmlspecialchars()`函数)处理。这种不安全的输出方式允许攻击者注入恶意的JavaScript代码。当具有教师权限的受害者访问包含payload的URL时,恶意脚本将在其浏览器会话上下文中执行。攻击者可利用此漏洞窃取Session ID、执行未授权操作或重定向用户至钓鱼网站。