阿里云 MyBatis 远程代码执行漏洞(CVE-2020-26945)修复

阿里云 MyBatis 远程代码执行漏洞(CVE-2020-26945)修复

1、漏洞详情

【安全通报】MyBatis 远程代码执行漏洞(CVE-2020-26945)|NOSEC安全讯息平台 - 白帽汇安全研究院

波及 mybatis.jar版本 小于<3.5.6

2、漏洞利用前提条件

在满足以下三个条件的时候,攻击者可以触发远程代码执行:
​
1、用户启用了内置的二级缓存
​
2、用户未设置JEP-290过滤器
​
3、攻击者找到了一种修改私有Map字段条目的方法,
  即修改org.apache.ibatis.cache.impl.PerpetualCache.cache有效的缓存密钥

3、关于JEP-290过滤器

关于jdk是否启用JEP-290过滤器:
https://blogs.oracle.com/java/post/filter-incoming-serialization-data-a-little-of-jdk-9-goodness-available-now-in-current-release-familieshttp://https://blogs.oracle.com/java/post/filter-incoming-serialization-data-a-little-of-jdk-9-goodness-available-now-in-current-release-familieshttp://https//blogs.oracle.com/java/post/filter-incoming-serialization-data-a-little-of-jdk-9-goodness-available-now-in-current-release-families
​
部分摘录:
   The feature is available in JDK 9 early access builds but since we wanted users of current versions to have this capability it has already been back ported to the JDK and JRE updates released with the Jan 2017 Critical Patch Update (8u121, 7u131, and 6u141).   See the release notes for the corresponding releases for further information. 
​
意思:
 jdk7从7u131开始已经内置JEP-290过滤器
 jdk8从8u121开始已经内置JEP-290过滤器
 jdk9 是jdk9开始的新特性,所以jdk9及之后都内置了该特性

4、是否修复

java -version > Java version "1.8.0_201"    版本大于8u121 无需修复 ,忽略漏洞

5、快速修复漏洞提示

 升级mybatis到3.5.6及以上,解决漏洞提示。

你可能感兴趣的:(个人经验,java,安全,开发语言)