CVE-2026-8759xiandafu beetl 3.20.2及之前版本中的SpELFunction组件存在严重的表达式注入漏洞。该漏洞源于对表达式语言语句中使用的特殊元素处理不当,导致攻击者可以注入恶意的SpEL表达式。由于漏洞利用无需认证且无用户交互要求,攻击者可远程发起攻击。目前公开的利用代码已经存在,且项目方尚未对此问题做出响应,风险极高。
该漏洞位于beetl-classic-integration模块的SpELFunction.java文件中。当Beetl与Spring框架集成时,SpELFunction类被用于解析和执行Spring Expression Language (SpEL)。由于代码在处理外部输入时未进行有效的过滤和清洗,直接将输入传递给SpEL解析器,导致攻击者能够构造恶意的表达式。攻击者可以利用SpEL的类类型引用(T())和对象实例化功能,调用Java Runtime类执行任意系统命令(如反弹Shell),或读取敏感文件。鉴于CVSS向量显示攻击复杂度低且无需权限,该漏洞极易被自动化扫描工具探测并利用,导致服务器被完全接管。