CVE-2026-33157Craft CMS 5.6.0至5.9.13之前版本存在远程代码执行(RCE)漏洞。该漏洞是对之前修复方案的绕过,尽管官方在其他位置添加了cleanseConfig()以过滤Yii2行为注入,但在ElementIndexesController的actionFilterHud方法中,fieldLayouts参数未经任何净化直接传递给FieldLayout::createFromConfig()。这使得拥有控制面板访问权限的认证用户能够注入恶意配置,进而触发行为注入攻击链,在服务器上执行任意代码。
该漏洞的核心在于Craft CMS未能全面修补Yii2框架的行为注入问题。攻击者利用ElementIndexesController::actionFilterHud()接口,该接口处理过滤面板请求。与其他经过清洗的接口不同,此处的fieldLayouts参数直接流向FieldLayout::createFromConfig()。攻击者可构造包含"as"键的恶意JSON数据,利用Yii2的对象配置机制实例化任意类或绑定事件。通过指定特定的PHP类(如包含system命令执行的类),攻击者可绕过之前的防护逻辑,成功在服务器端上下文中执行恶意代码。