【高危】JeecgBoot SQL注入漏洞
漏洞描述
JeecgBoot是一款基于代码生成器的开源企业级低代码开发平台,旨在提高软件开发效率。
受影响版本中,接口 /jeecg-boot/online/cgreport/head/parseSql 存在 SQL 注入漏洞。AbstractQueryBlackListHandler.isPass 在对 SQL 语句进行安全校验时,因解析器处理带括号表名会抛出异常,异常被捕获后未正确处理,导致 list 为空并直接返回 true,黑名单校验被绕过,攻击者可执行恶意 SQL 查询,造成SQL注入漏洞。
修复版本中通过升级 minidao 依赖版本,修复了SQL解析器无法处理特定语法的缺陷,从根本上防止了异常的发生。同时,在 AbstractQueryBlackListHandler 中增加了对数据库名的黑名单校验,并在 SqlInjectionUtil 中添加了前置的字符串关键字过滤,构建了多层防御机制。
| MPS编号 | MPS-zcg0-femu |
|---|---|
| CVE编号 | CVE-2025-51825 |
| 处置建议 | 建议修复 |
| 发现时间 | 2025-08-22 |
| 利用成本 | 中 |
| 利用可能性 | 高 |
| 是否有POC | 是 |
影响范围
| 影响组件 | 受影响的版本 | 最小修复版本 |
|---|---|---|
| jeecg | [3.4.3, 3.8.1) | 3.8.1 |
| org.jeecgframework.boot:jeecg-boot-base-core | [3.4.3, 3.8.1) | 3.8.1 |
参考链接
https://github.com/jeecgboot/JeecgBoot/commit/ddf0f61ae59d217b59884921a98a0bc69b143f41
https://github.com/jeecgboot/JeecgBoot/issues/8335
https://nvd.nist.gov/vuln/detail/CVE-2025-51825
https://www.oscs1024.com/hd/MPS-zcg0-femu
排查方式
手动排查
检查JeecgBoot版本:确认项目JeecgBoot版本是否在[3.4.3, 3.8.1)范围,或Maven依赖org.jeecgframework.boot:jeecg-boot-base-core版本是否在此区间。
测试接口SQL校验:构造含括号表名的SQL(如”select * from (test) where 1=1″),发送POST请求至/jeecg-boot/online/cgreport/head/parseSql接口,若返回成功则存在漏洞。
一键自动排查全公司此类风险
墨菲安全为您免费提供一键排查全公司开源组件漏洞&投毒风险服务,可一键接入扫描全公司的代码仓库、容器镜像仓库、主机、制品仓库等。
试用地址:https://www.murphysec.com/adv?code=IHDB
提交漏洞情报:https://www.murphysec.com/bounty
处置方式
应急缓解方案
- 临时限制访问/jeecg-boot/online/cgreport/head/parseSql接口,可通过Web服务器配置或应用防火墙规则实现
- 在应用前端或WAF中添加针对该接口的SQL注入特征过滤规则,拦截包含UNION、INSERT、UPDATE、DELETE等关键字的请求
- 对访问该接口的IP进行访问控制,仅允许可信IP地址段访问
- 启用应用层审计日志,重点监控该接口的访问记录和异常SQL语句
根本修复方案
- 将jeecg组件版本升级至3.8.1或更高版本
- 将org.jeecgframework.boot:jeecg-boot-base-core组件版本升级至3.8.1或更高版本
- 同步升级minidao依赖至修复后的版本,确保SQL解析器缺陷已修复
- 升级完成后,验证AbstractQueryBlackListHandler中数据库名黑名单校验功能是否正常工作
- 验证SqlInjectionUtil中前置字符串关键字过滤机制是否生效