CVE-2026-9580
Description
A vulnerability was determined in JeecgBoot up to 3.9.1. The affected element is the function LoginController.selectDepart of the file /sys/selectDepart. This manipulation causes improper access controls. Remote exploitation of the attack is possible. The exploit has been publicly disclosed and may be utilized. Upgrading to version 3.9.2 is sufficient to fix this issue. It is suggested to upgrade the affected component.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
An improper access control vulnerability in JeecgBoot's `LoginController.selectDepart` endpoint allows authenticated users to switch to any department or tenant, enabling privilege escalation.
Vulnerability
A vulnerability exists in JeecgBoot up to version 3.9.1 in the LoginController.selectDepart endpoint mapped to PUT /sys/selectDepart. The endpoint lacks any authorization annotations (@RequiresPermissions or @RequiresRoles) and accepts orgCode and loginTenantId directly from the request body without verifying that the values belong to the authenticated user's assigned departments or tenants. The service method SysUserServiceImpl.updateUserDepart() then persists these unvalidated values to the sys_user table [3] [4]. The flaw is designated CVE-2026-9580 [1].
Exploitation
An attacker needs only a valid JWT (authentication) to exploit this vulnerability. By sending a PUT request to /sys/selectDepart with arbitrary orgCode and loginTenantId parameters, the attacker can switch their current session context to any department or tenant in the system. Combined with a separate userEdit privilege escalation issue, the attacker can further set userIdentity=2 and departIds to gain full access to a target department's member data [3] [4]. The exploit has been publicly disclosed and may be actively used [1] [3].
Impact
Successful exploitation allows an authenticated attacker to escalate privileges by injecting unauthorized organizational context. This can lead to unauthorized access to department-specific data and tenant resources, potentially compromising the confidentiality and integrity of sensitive information across the JeecgBoot application [3] [4].
Mitigation
The vulnerability is fixed in JeecgBoot version 3.9.2, released on 2026-04-30 [1] [2]. It is recommended to upgrade the affected component to 3.9.2 or later. No workarounds have been publicly documented for older versions [1] [3].
- GitHub - jeecgboot/JeecgBoot: AI 低代码平台,「低代码 + 零代码」双模式驱动:低代码一键生成前后端代码,零代码 5 分钟搭建系统,AI Skills 一句话画流程、设计表单、生成整套系统。内置 AI聊天、知识库、流程编排、MCP插件等,兼容主流大模型。引领「AI 生成 → 在线配置 → 代码生成 → 手工合并->AI修改」开发模式,消除 Java 项目 80% 的重复工作,提效而不失灵活。
- Release v3.9.2 · jeecgboot/JeecgBoot
- `selectDepart` 跨部门/租户上下文注入
- `selectDepart` 跨部门/租户上下文注入
AI Insight generated on May 26, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
2- Range: <=3.9.1
- Range: <=3.9.1
Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
6News mentions
0No linked articles in our index yet.