文章总结: 该漏洞报告分析了JeecgBoot3.9.1版本中mLogin接口存在的授权绕过问题,其核心成因是缺少验证码校验机制,导致攻击者可进行暴力破解或凭证填充攻击。关键发现包括漏洞的CVSS评分、具体利用步骤及公开的PoC代码。修复建议强调需在mLogin接口添加验证码校验、实施速率限制或禁用该接口,并建议用户升级官方版本或采取临时加固措施。 综合评分: 78 文章分类: 漏洞分析,授权绕过,WEB安全,漏洞预警,安全建设
CVE-2026-8196-JeecgBoot-mLogin接口授权绕过漏洞报告
md-bot md-bot
Sec打更人
2026年5月14日 11:26 广东
在小说阅读器读本章
去阅读
# CVE-2026-8196 漏洞分析报告
**CVE编号:** CVE-2026-8196
**标题:** CVE-2026-8196-JeecgBoot-mLogin接口授权绕过漏洞
**创建时间:** 2026-05-13T15:08:09.206667+08:00
## 漏洞描述
该漏洞存在于JeecgBoot 3.9.1版本中。具体的受影响的文件是jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java,漏洞组件是mLogin Endpoint。该漏洞的成因是该接口在进行用户身份验证时,没有像标准登录接口/sys/login那样执行验证码(captcha)校验。攻击者可以直接向/sys/mLogin接口发送包含用户名和密码的JSON请求,该接口会返回标准的JWT(JSON Web Token)令牌。由于缺乏验证码机制,攻击者可以无限制地尝试不同的密码组合(暴力破解),或者使用已泄露的凭证列表进行批量登录尝试(凭证填充)。该漏洞被归类为CWE-639(授权绕过)和CWE-285(不当授权),CVSS 4.0基础评分为6.3(中等),CVSS 3.1基础评分为3.7(低)。尽管CVSS评分较低,但考虑到其实际攻击场景(暴力破解和凭证填充),其潜在影响不容忽视。攻击者成功登录后,可以获得目标系统的Web访问权限,进一步可能利用系统功能进行数据窃取、横向移动等操作。
# CVE-2026-8196-JeecgBoot-mLogin接口授权绕过漏洞
**漏洞类型:** 授权绕过/验证码绕过
**影响应用:** JeecgBoot
**危害等级:** 中危,攻击者可绕过验证码机制进行暴力破解或凭证填充攻击,可能导致用户账户被非法登录
**影响版本:** 3.9.1
**利用条件:** 需要能访问目标JeecgBoot实例的/sys/mLogin接口,且攻击者需要准备有效的用户名和密码字典
**POC 可用性:** 是
**投毒风险:** 2%
**项目地址:** HORKimhab/CVE-2026-8196
**漏洞详情:** NVD数据库
## 详情
该漏洞存在于JeecgBoot 3.9.1版本中。具体的受影响的文件是jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java,漏洞组件是mLogin Endpoint。该漏洞的成因是该接口在进行用户身份验证时,没有像标准登录接口/sys/login那样执行验证码(captcha)校验。攻击者可以直接向/sys/mLogin接口发送包含用户名和密码的JSON请求,该接口会返回标准的JWT(JSON Web Token)令牌。由于缺乏验证码机制,攻击者可以无限制地尝试不同的密码组合(暴力破解),或者使用已泄露的凭证列表进行批量登录尝试(凭证填充)。该漏洞被归类为CWE-639(授权绕过)和CWE-285(不当授权),CVSS 4.0基础评分为6.3(中等),CVSS 3.1基础评分为3.7(低)。尽管CVSS评分较低,但考虑到其实际攻击场景(暴力破解和凭证填充),其潜在影响不容忽视。攻击者成功登录后,可以获得目标系统的Web访问权限,进一步可能利用系统功能进行数据窃取、横向移动等操作。
## 漏洞利用
漏洞利用方式为远程网络攻击,无需预先认证。利用此漏洞的典型步骤如下:
- **侦察与目标确定**:攻击者首先确定一个运行JeecgBoot 3.9.1版本的Web服务器,并确认其
/sys/mLogin接口可访问。 - **凭证收集**:攻击者通过信息收集获取有效的用户名(如admin),并准备一个密码字典(如123456, admin, password等常见弱密码)。
- **发送恶意请求**:使用提供的PoC脚本或任何HTTP客户端(如curl, Burp Suite)向目标发送POST请求。请求URL为
http://:/jeecg-boot/sys/mLogin,请求体为JSON格式:{"username":"admin", "password":"123456"}。该请求不包含任何验证码字段。 - **校验响应**:如果密码正确,服务器将返回包含
"success": true和JWT令牌的JSON响应,攻击者即可利用该令牌访问系统。如果失败,则返回"success": false。 - **自动化攻击**:攻击者可以运行提供的
exploit.py脚本,自动化执行上述过程。该脚本会首先测试标准登录接口(确认需要验证码),然后使用mLogin接口进行无验证码登录尝试。脚本还包含一个brute\_force函数,可以对指定用户进行暴力破解演示。该PoC脚本在每两次尝试之间设置了0.1秒的延迟,但在实际攻击中攻击者可能设置更短的延迟甚至没有延迟,以达到更快的破解速度。
**PoC代码说明**:提供的exploit.py是一个功能完整的PoC脚本,它封装了JeecgBootBruteForcePoC类,该类包含test\_standard\_login()(演示标准登录需要验证码)、mlogin()(核心漏洞利用函数,发送无验证码的登录请求)和brute\_force()(自动化暴力破解函数)三个核心方法。脚本的main()函数展示了标准用法,用户只需修改TARGET和USERNAME变量即可使用。脚本附带的LICENSE和README.md文件均声明了仅用于教育和授权测试的免责声明,无明显的恶意投毒行为。
## 修复建议
修复此漏洞的根本方法是在/sys/mLogin接口中补充验证码校验逻辑,使其与/sys/login接口保持一致。以下是详细的修复建议:
- **官方补丁**:请关注JeecgBoot官方项目(https://github.com/jeecg-boot/jeecg-boot)的发布和更新。开发者应尽快升级到修复此漏洞的版本。由于此漏洞信息发布于2026年5月,且厂商未回应,建议立即关注官方后续版本。
- **代码级修复**:如果无法立即升级,需要手动修复
LoginController.java中的mLogin方法。在该方法处理登录请求之前,增加对captcha(验证码)参数的校验。校验应包括:
- 验证码是否为空
- 验证码是否过期
- 验证码与后端Session中存储的值是否匹配
可以使用与/sys/login相同的验证码校验逻辑。
- **临时加固措施**:
- 禁用接口:如果业务上不需要
/sys/mLogin接口,可以直接在Web服务器(如Nginx)或应用防火墙(WAF)层面将其禁用或重写规则阻止外部访问。 - IP白名单:限制
/sys/mLogin接口仅允许特定IP地址或IP段访问。 - 增加速率限制:在应用层或网络层对该接口实施严格的速率限制,如每分钟只允许最多3次登录尝试。超过限制后返回429(Too Many Requests)或临时封禁IP。
- 账户锁定策略:实施账户锁定策略,例如连续5次登录失败后,锁定该账户15分钟。
- **其他安全建议**:
- 启用并强制使用多因素认证(MFA)。
- 对所有用户进行安全意识培训,避免使用弱密码。
- 定期审计系统访问日志,发现异常暴力破解行为。
- 在代码开发流程中引入安全代码审查,确保所有登录接口都实现统一的认证和验证码逻辑。
## 相关仓库
### 1. HORKimhab/CVE-2026-8196
**URL:** https://github.com/HORKimhab/CVE-2026-8196
**描述:** CVE-2026-8196
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Sec打更人 md-bot md-bot《CVE-2026-8196-JeecgBoot-mLogin接口授权绕过漏洞报告》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论