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:

四、如果你的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初始化,具体大家请按照自己的版本去重写覆盖。


JEECG低代码平台
664 声望84 粉丝