MybatisPlus <= 3.5.3.1 TenantPlugin 组件 存在 sql 注入漏洞(CVE-2023-25330)
漏洞描述
MyBatis-Plus TenantPlugin 是 MyBatis-Plus 的一个为多租户场景而设计的插件,可以在 SQL 中自动添加租户 ID 来实现数据隔离功能。
MyBatis-Plus TenantPlugin 3.5.3.1及之前版本由于 TenantHandler#getTenantId 方法在构造 SQL 表达式时默认情况下未对 tenant(租户)的 ID 值进行过滤,当程序启用了 TenantPlugin 并且 tenant(租户)ID 可由外部用户控制时,攻击者可利用该漏洞进行 sql 注入,接管程序的数据库或向操作系统发送恶意命令。用户可通过对租户 ID 进行过滤缓解此漏洞。
该漏洞已存在POC。
漏洞名称 | MybatisPlus <= 3.5.3.1 TenantPlugin 组件 存在 sql 注入漏洞 |
---|---|
漏洞类型 | SQL注入 |
发现时间 | 2023/4/6 |
漏洞影响广度 | 一般 |
MPS编号 | MPS-2023-3977 |
CVE编号 | CVE-2023-25330 |
CNVD编号 | - |
影响范围
com.baomidou:mybatis-plus-extension@[1.0, 3.5.3.1]
修复方案
对 tenant(租户)ID 进行过滤
参考链接
https://www.oscs1024.com/hd/MPS-2023-3977
https://nvd.nist.gov/vuln/detail/CVE-2023-25330
https://github.com/advisories/GHSA-32qq-m9fh-f74w
https://github.com/FCncdn/MybatisPlusTenantPluginSQLInjection-POC/blob/master/Readme.en.md
关于墨菲安全
墨菲安全是一家为您提供专业的软件供应链安全管理的科技公司,核心团队来自百度、华为、乌云等企业,公司为客户提供完整的软件供应链安全管理平台,围绕SBOM提供软件全生命周期的安全管理,平台能力包括软件成分分析、源安全管理、容器镜像检测、漏洞情报预警及商业软件供应链准入评估等多个产品。为客户提供从供应链资产识别管理、风险检测、安全控制、一键修复的完整控制能力。
开源项目:https://github.com/murphysecurity/murphysec/?sf=qbyj
产品可以极低成本的和现有开发流程中的各种工具一键打通,包括 IDE、Gitlab、Bitbucket、Jenkins、Harbor、Nexus 等数十种工具无缝集成。
免费代码安全检测工具: https://www.murphysec.com/?sf=qbyj
免费情报订阅: https://www.oscs1024.com/cm/?sf=qbyj