漏洞类型 | SQL注入 | 发现时间 | 2023/6/19 | 漏洞等级 | 中危 |
MPS编号 | MPS-okys-m9ai | CVE编号 | CVE-2023-34602 | 漏洞影响广度 | 广 |
漏洞危害
OSCS 描述 |
JeecgBoot 是一款开源的基于代码生成的快速开发平台。受影响版本中,由于 SystemApiController#queryTableDictItemsByCode 方法未对用户可控的 text 参数进行过滤,当 JeecgBoot 开启 sys/api/queryTableDictItemsByCode api接口时(默认不开启),具有登录权限攻击者可利用该漏洞获取数据库中的敏感信息。 用户可参考官方文档配置黑名单缓解此漏洞:https://help.jeecg.com/java/java/config/sqlblacklist.html 。 参考链接:https://www.oscs1024.com/hd/MPS-okys-m9ai |
GitHub 官方库描述 |
代码中存在SQL注入风险。虽然代码中增加了SQL注入过滤功能,但我们在测试过程中发现,访问queryTableDictItemsByCode method 类中的org.jeecg.modules.api.controller.SystemApiController 仍然可以从数据库表中获取所需的数据,例如从sys_user表中获取用户名、密码、salt值等。请参考提供的URL截图,其中“–”符号用于注释掉后续的SQL语句。造成这种情况的主要原因是MyBatis中与${XXX}相关的SQL注入风险。参考链接:https://github.com/jeecgboot/jeecg-boot/issues/4983 |
影响范围及处置方案
OSCS 平台影响范围和处置方案
影响范围 | 处置方式 | 处置方法 |
org.jeecgframework.boot:jeecg-boot-base-core@[2.2.0, 3.5.2) | 更新 | 升级org.jeecgframework.boot:jeecg-boot-base-core到 3.5.2 或更高版本 |
缓解措施 | 通过配置黑名单对sql语句中的表名和字段名进行过滤:https://help.jeecg.com/java/java/config/sqlblacklist.html | |
参考链接:https://www.oscs1024.com/hd/MPS-okys-m9ai |
GitHub 官方库平台影响范围和处置方案
影响范围 | 处置方式 | 处置方法 |
3.5.1以及之前的所有版本 | 暂无 | 暂无 |
参考链接:https://github.com/jeecgboot/jeecg-boot/issues/4983 |
排查方式
方式1:使用漏洞检测CLI工具来排查 使用文档:https://www.murphysec.com/docs/faqs/integration/cli.html |
方式2:使用漏洞检测IDEA插件排查 使用文档:https://www.murphysec.com/docs/faqs/integration/jetbrains-ide-plugin.html |
方式3:接入GitLab进行漏洞检测排查 使用文档:https://www.murphysec.com/docs/faqs/integration/gitlab.html |
更多排查方式:https://www.murphysec.com/docs/faqs/integration/ |
本文参考链接
https://www.oscs1024.com/hd/MPS-okys-m9ai
https://nvd.nist.gov/vuln/detail/CVE-2023-34602
https://github.com/jeecgboot/jeecg-boot/issues/4983
https://github.com/jeecgboot/jeecg-boot/commit/dd7bf104e7ed59142909567ecd004335c3442ec5