漏洞描述
MyBatis-Plus TenantPlugin 是 MyBatis-Plus 的一个为多租户场景而设计的插件,可以在 SQL 中自动添加租户 ID 来实现数据隔离功能。
MyBatis-Plus TenantPlugin 3.5.3.1之前版本由于 TenantHandler#getTenantId 方法在构造 SQL 表达式时默认情况下未对租户的 ID 值进行过滤,当程序启用了 TenantPlugin 并且租户 ID 可由外部用户控制时,攻击者可利用该漏洞进行 sql 注入,接管程序的数据库或向操作系统发送恶意命令。用户可通过对租户 ID 进行过滤缓解此漏洞。
漏洞名称 | MybatisPlus TenantPlugin <3.5.3.1 存在 sql 注入漏洞 |
---|---|
漏洞类型 | SQL注入 |
发现时间 | 2023-04-06 |
漏洞影响广度 | 一般 |
MPS编号 | MPS-2023-3977 |
CVE编号 | CVE-2023-25330 |
CNVD编号 | - |
影响范围
com.baomidou:mybatis-plus@[1.0, 3.5.3.1
修复方案
对租户 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
免费情报订阅&代码安全检测
OSCS是国内首个开源软件供应链安全社区,社区联合开发者帮助全球顶级开源项目解决安全问题,并提供实时的安全漏洞情报,同时提供专业的代码安全检测工具为开发者免费使用。社区开发者可以通过配置飞书、钉钉、企业微信机器人获取一手的情报。
免费代码安全检测工具: https://www.murphysec.com/?src=osc
免费情报订阅: https://www.oscs1024.com/cm/?src=osc
具体订阅方式详见: https://www.oscs1024.com/docs/vuln-warning/intro/?src=osc