千家信息网

MyBatis远程代码执行漏洞CVE-2020-26945的实例分析

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MyBatis远程代码执行漏洞CVE-2020-26945的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、漏洞概要漏洞名称M
千家信息网最后更新 2026年11月01日MyBatis远程代码执行漏洞CVE-2020-26945的实例分析

MyBatis远程代码执行漏洞CVE-2020-26945的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

一、漏洞概要

漏洞名称

MyBatis 远程代码执行漏洞CVE-2020-26945

威胁等级

高危

影响范围

MyBatis < 3.5.6

漏洞类型

远程代码执行

利用难度

困难

二、漏洞分析

2.1 MyBatis组件介绍

MyBatis 本是Apache的一个开源项目iBatis, 2010年这个项目由Apache Software Foundation 迁移到了Google Code,并且改名为MyBatis 。MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。

2.2 漏洞描述

2020年10月6日,MyBatis官方发布了MyBatis 3.5.6版本,修复了一个远程代码执行漏洞,该漏洞编号为CVE-2020-26945。 在满足以下三个条件的时候,攻击者可以触发远程代码执行:

  • 用户启用了内置的二级缓存

  • 用户未设置JEP-290过滤器

  • 攻击者找到了一种修改私有Map字段条目的方法,即修改org.apache.ibatis.cache.impl.PerpetualCache.cache有效的缓存密钥

2.3 漏洞分析

官方发布修复此漏洞的方法是添加了反序列化检查,通过补丁比较发现漏洞点:

漏洞点出现在SerializedCache类的私有方法deserialize()中,全局搜索此类,发现该类公有的getObject()方法调用了该私有方法:

在该方法设置断点,跟进发现进入了ScheduledCache类的getObject()方法:

这里可以看到getObject()方法调用了clearWhenStale()方法,是对cache是否过期进行判断,并不是任意序列化数据均可以进行反序列化:

getObject()这里的限制主要有两处,一是需要在cache的过期时间内,二是覆盖的value要和key相对应,也就是前面漏洞描述提到的漏洞利用须满足的第三个条件。继续跟进发现序列化数据就是Cache.value,取出value值是通过的对应关系,这是在MyBatis默认二级缓存类PerpetualCache实现的(用户可以自定义二级缓存,在mapper中启用即可,前提是实现规定的接口):

作为攻击者,需要将已有key对应的value覆盖为自己的恶意序列化数据,在cache过期时间内,如果再次执行相同的查询访问操作,恶意数据就会被作为已有key的对应value被反序列化,从而形成MyBatis所在服务器上的RCE。

2.4 漏洞复现

攻击者可以造成远程代码执行:

三、影响范围

目前受影响的MyBatis版本:

Mybatis < 3.5.6

四、解决方案

4.1修复建议

目前厂商已发布升级补丁以修复漏洞,请受影响用户尽快进行升级加固。补丁获取链接:

https://github.com/mybatis/mybatis-3

看完上述内容,你们掌握MyBatis远程代码执行漏洞CVE-2020-26945的实例分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

漏洞 方法 代码 序列 数据 分析 攻击者 用户 缓存 影响 攻击 补丁 私有 实例 实例分析 三个 内容 官方 恶意 接口 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技名片 互联网科技工作委员会主任 科技信息互联网 狮子座互联网科技有限公司 天下捷融互联网科技 成都狮子座互联网科技 互联网金融和金融科技 互联网金融科技委员会 互联网科技与管理 互联网科技公司有风险吗 消费医药和互联网科技 链环科技传统企业怎么转型互联网 南博望互联网科技有限公司 为客找房互联网科技公司怎么样 云南省自由互联网科技有限公司 产业互联网科技服务公司 上海创道互联网络科技有限公司 上海万顺科技互联网有限公司招聘 现代互联网科技公司 前海云享互联网科技 互联网科技园 广州紫鲸互联网科技有限公司 港股互联网科技股 宁波青枫互联网科技有限公司 温州喔噻互联网科技有限公司 互联网金融科技展 996高科技互联网公司 上海科技产业互联网平台 每天都有哪些好的互联网科技 雨阳互联网卡科技有限公司
0