CVE-2025-15120
Improper Authorization in JeecgBoot getDeptRoleList Function
Publication date: 2025-12-28
Last updated on: 2026-04-29
Assigner: VulDB
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| jeecg | jeecgboot | 3.9.0 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-285 | The product does not perform or incorrectly performs an authorization check when an actor attempts to access a resource or perform an action. |
| CWE-266 | A product incorrectly assigns a privilege to a particular actor, creating an unintended sphere of control for that actor. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
This vulnerability is a flaw in JeecgBoot up to version 3.9.0, specifically in the function getDeptRoleList located in the file /sys/sysDepartRole/getDeptRoleList. The issue arises from improper authorization caused by manipulation of the argument departId. This flaw can be exploited remotely but requires a high degree of complexity to carry out the attack. The exploit has been published and may be used.
How can this vulnerability impact me? :
The vulnerability can lead to improper authorization, potentially allowing an attacker to access or manipulate department role information without proper permissions. Although the impact on confidentiality is low and there is no impact on integrity or availability, unauthorized access could still pose a security risk. The attack is difficult to execute and requires some privileges, but the exploit is publicly available.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows unauthorized cross-tenant access to sensitive role and permission data, leading to potential confidentiality breaches. Such unauthorized disclosure of organizational and permission data can negatively impact compliance with data protection regulations like GDPR and HIPAA, which require strict access controls and protection of sensitive information. The exposure of tenant-specific data without proper authorization undermines tenant isolation and could result in violations of privacy and security requirements mandated by these standards. [1, 2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection can be performed by monitoring and analyzing requests to the vulnerable endpoint GET /sys/sysDepartRole/getDeptRoleList, especially those containing unusual or unauthorized departId values. Audit logging should be enabled for all department role queries to detect cross-tenant access attempts. A practical detection method is to capture HTTP GET requests to the endpoint and check if departId parameters correspond to departments outside the user's tenant. Example command using curl to test the endpoint (requires valid authentication): curl -X GET 'https://<target>/sys/sysDepartRole/getDeptRoleList?departId=<suspected_departId>&userId=<any_userId>' -H 'Authorization: Bearer <token>' and analyze if the response contains roles from other tenants. Network monitoring tools or web application firewalls can be configured to alert on such requests. Additionally, reviewing application logs for unauthorized access errors or unexpected role data can help detect exploitation attempts. [1, 2]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include implementing tenant ownership validation by verifying that the requested departId belongs to the current user's tenant before processing the request. This can be done by fetching the department record and comparing its tenant ID with the tenant ID of the logged-in user, returning an unauthorized error if they do not match. Enforce tenant filtering in database queries to ensure only roles belonging to the current tenant are returned. Utilize the userId parameter to verify if the user has permission to view the department's role information. Applying database-level tenant isolation mechanisms, such as MyBatis-Plus multi-tenancy plugins, can automatically add tenant ID filters to queries. Additionally, enable audit logging for all department role queries to detect and record cross-tenant access attempts. If a patch or updated version is available, apply it promptly. If not, consider restricting access to the vulnerable endpoint until a fix is implemented. [1, 2]