闲大赋(Beetl) SpELFunction 开启时存在表达式注入风险 漏洞概述 漏洞类型:CWE-917 (Expression Language Injection) 漏洞描述:开发者在 Beetl 配置中显式注册了 ,且模板内代码路径使用了 。该类在实现 方法时,允许调用 Java 静态类、实例化任意对象、访问 Spring 容器内任意 Bean 等,使得上下文获得了访问 Spring 的权限。 影响范围 受影响代码: 触发条件:使用了 且模板中存在恶意表达式。 POC 代码 修复方案 1. 建议替换:将 替换为 。 专门设计用于安全地处理数据绑定,默认禁用了静态类引用、构造函数调用和反射方法调用,仅保留基础属性读写和简单逻辑运算。 使用该类的前提下,继续使用主动注入 等,不会影响任何业务功能,并且规避了任意代码执行的问题。 2. 后续建议:如果确实需要使用 ,建议在说明文档的 4.2 Spring 相关函数等章节,提示显示用户这方面的安全风险,避免误用。