【中危漏洞】CVE-2026-23885:Alchemy CMS 远程代码执行漏洞分析

漏洞概述

Alchemy 是一个基于 Ruby on Rails 构建的开源内容管理系统(CMS)引擎。在版本 7.4.12 和 8.0.3 之前,该系统在 Alchemy::ResourcesHelper#resource_url_proxy 方法中使用了 Ruby 的 eval() 函数来动态执行由 resource_handler.engine_name 属性提供的字符串。由于该属性可被管理员配置所影响,攻击者在具备高权限账户的前提下,可利用此漏洞执行任意系统命令,从而导致远程代码执行(RCE)风险。

漏洞详情

  • CVE 编号:CVE-2026-23885
  • 漏洞类型:CWE-95(动态代码执行/注入)
  • CVSS 评分:6.6(中危)
    CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
  • 影响版本:Alchemy CMS < 7.4.12 以及 < 8.0.3

影响范围

所有使用 Alchemy CMS 且版本低于 7.4.12(7.x 系列)或低于 8.0.3(8.x 系列)的部署实例均受此漏洞影响。漏洞存在于 app/helpers/alchemy/resources_helper.rb 文件第 28 行,通过 engine_name 参数传入并经由 eval() 执行,而该参数可由具有管理权限的用户间接控制。

风险分析

虽然该漏洞要求攻击者已拥有高权限(如管理员)账户,但一旦满足前提条件,攻击者即可绕过 Ruby 沙箱限制,在宿主操作系统上执行任意命令,可能导致敏感信息泄露、系统完整性破坏甚至服务中断。值得注意的是,开发人员在代码中明确使用了 # rubocop:disable Security/Eval 注释,表明其知晓 eval() 的安全风险,但未采取充分防护措施。

修复建议

  • 立即升级至 Alchemy CMS 官方修复版本:v7.4.12v8.0.3 及以上。
  • 若无法立即升级,建议临时限制对管理后台的访问权限,仅允许可信用户操作,并监控异常行为。

参考链接