CVE-2025-11332CVE-2025-11332 是 CmsEasy 内容管理系统中存在的一个跨站脚本(XSS)漏洞,影响版本至 7.7.7。该漏洞位于 CmsEasy 的 lib/inc/view.php 文件中的 URL Handler 组件,具体涉及对 PHP_SELF 参数的处理逻辑存在缺陷。攻击者可以通过远程方式对 PHP_SELF 参数进行恶意构造和注入,从而在受害者浏览器中执行任意 JavaScript 代码。
该漏洞的 CVSS 3.1 评分为 3.5 分,属于低危级别。虽然漏洞利用需要低权限认证和用户交互(如点击恶意链接),且对机密性和可用性影响较小,但攻击者仍可利用该漏洞篡改页面内容、窃取用户会话 Cookie、进行钓鱼攻击或重定向用户到恶意网站。该漏洞的 PoC 已被公开披露,并已提交至 GitHub 仓库(tiancesec/CVE),增加了被恶意利用的风险。
值得注意的是,漏洞发现者在披露前已联系 CmsEasy 厂商,但厂商未作出任何回应,这表明该漏洞在受影响版本中可能长期得不到修复。建议使用 CmsEasy 的用户和管理员采取额外的安全防护措施来降低风险。
该漏洞的核心问题在于 CmsEasy 的 URL Handler 组件(lib/inc/view.php 文件)中对 PHP_SELF 超全局变量的处理不当。PHP_SELF 是 PHP 中的一个特殊变量,其值通常是当前正在执行脚本的文件名,但当 URL 包含路径信息(如 /index.php/path_info)时,PHP_SELF 会包含这些额外的路径信息。
漏洞原理如下:
1. CmsEasy 的 URL Handler 在处理请求时,直接将 PHP_SELF 的值输出到 HTML 页面中,而没有对其进行充分的过滤或编码。
2. 攻击者可以构造一个包含恶意 JavaScript 代码的特殊 URL,例如:`http://target/index.php/<script>alert('XSS')</script>`。
3. 当 PHP 处理该请求时,PHP_SELF 变量将包含恶意脚本标签。
4. 由于 CmsEasy 没有对 PHP_SELF 的值进行 HTML 实体编码(如将 < 转换为 <),恶意脚本将直接在受害者的浏览器中执行。
利用条件:
- 攻击者需要拥有低权限账户(PR:L),但根据 PoC 公开情况,该漏洞可能允许未认证利用。
- 需要用户交互(UI:R),即受害者需要点击或访问恶意构造的 URL。
- 攻击通过网络进行(AV:N),攻击复杂度低(AC:L)。
该漏洞的危害包括但不限于:窃取用户会话、篡改页面内容、进行钓鱼攻击、传播恶意软件等。