Freemarker模板注入导致远程命令执行, 远程攻击者可利用该漏洞调用在系统上执行任意命令。
JeecgBoot官方已修复,建议大家尽快升级至相关底层依赖和源码
一、漏洞描述
Freemarker模板注入导致远程命令执行, 远程攻击者可利用该漏洞调用在系统上执行任意命令。漏洞危害等级:高危
二、影响范围
- minidao-spring-boot-starter 版本 < 1.9.2
- jimureport-spring-boot-starter 版本 < 1.6.1
- codegenerate 版本 < 1.4.4
- hibernate-re 版本 < 3.5.3
- jeewx-api 版本 < 1.5.2
- drag-free 版本 < 1.0.2
三、修复方案,升级依赖版本和源码
目前该漏洞已经修复,受影响用户可升级到以下版本
- minidao-spring-boot-starter >= 1.9.2
- jimureport-spring-boot-starter >= 1.6.1
- codegenerate >= 1.4.4
- hibernate-re >= 3.5.3
- jeewx-api >= 1.5.2
- drag-free >=1.0.2
JeecgBoot修复PR:
- https://github.com/jeecgboot/jeecg-boot/commit/acb48179ab00e167747fa4a3e4fd3b94c78aeda5
- https://github.com/jeecgboot/jeecg-boot/commit/baf4b96b3fcffa183e19b87485f5fb8388bb36ae
四、如果你的jeecgboot版本非常老?
可以采用重写freemarker的类src/main/java/freemarker/template/Configuration.java方式,在实例化Configuration方法里面默认加入
//freemarker模板注入问题 禁止解析ObjectConstructor,Execute和freemarker.template.utility.JythonRuntime。
this.setNewBuiltinClassResolver(TemplateClassResolver.SAFER_RESOLVER);
参考代码:针对freemaker2.3.31的重写Configuration初始化,具体大家请按照自己的版本去重写覆盖。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
2018-08-15 开源微信管家平台——JeeWx 捷微4.0 微服务版本发布,全新架构,全新UI,提供强大的图文编辑器