本次主要修复了安全漏洞:Beetl 存在 SSTI 漏洞[BUG]。此漏洞不像JSON序列化工具安全漏洞具有普遍性,漏洞只会发生于"在线运行模板引擎"的系统
如果不使用此版本,为了避免漏洞,可以禁用Beetl本地Class调用,也可以自定义安全管理器,加上对java.lang.Class.forName的限制
public class YourNativeSecurityManager implements NativeSecurityManager { @Override public boolean permit(Object resourceId, Class c, Object target, String method) { String className = ....; String pkgName = ....; if (pkgName.startsWith("java.lang")) { return !className.equals("Runtime") && !className.equals("Process") && !className.equals("ProcessBuilder") && !className.equals("Class") && !className.equals("System"); } if(pkgName.startsWith("sun.misc")){ return false; } return true; } }
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetl</artifactId> <version>3.15.1.RELEASE</version> </dependency>
还没有评论,来说两句吧...