CVE-2025-15124
Unknown Unknown - Not Provided
Improper Authorization in JeecgBoot getParameterMap Function

Publication date: 2025-12-28

Last updated on: 2026-04-29

Assigner: VulDB

Description
A vulnerability was identified in JeecgBoot up to 3.9.0. This impacts the function getParameterMap of the file /sys/sysDepartPermission/list. The manipulation of the argument departId leads to improper authorization. The attack can be initiated remotely. The attack's complexity is rated as high. The exploitability is said to be difficult. The exploit is publicly available and might be used. The vendor was contacted early about this disclosure but did not respond in any way.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2025-12-28
Last Modified
2026-04-29
Generated
2026-05-07
AI Q&A
2025-12-28
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
jeecg jeecgboot 3.9.0
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-266 A product incorrectly assigns a privilege to a particular actor, creating an unintended sphere of control for that actor.
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.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2025-15124 is a vulnerability in JeecgBoot versions up to 3.9.0 affecting the GET endpoint /sys/sysDepartPermission/list. The issue arises because the function getParameterMap does not properly validate the departId parameter, allowing an attacker with a valid login session to specify arbitrary departId values from other tenants. This leads to improper authorization and unauthorized access to department permission configurations of other tenants. The vulnerability is due to missing server-side tenant ownership validation, enabling cross-tenant data disclosure remotely. A proof-of-concept exploit is publicly available, although exploiting it is considered difficult. [1, 2, 3]


How can this vulnerability impact me? :

This vulnerability can lead to unauthorized disclosure of sensitive department permission data across tenants, exposing organizational structures, permission IDs, data rule IDs, and metadata. Attackers can gain insights into business functions and system architecture, which can facilitate targeted privilege escalation attacks within the JeecgBoot system. Essentially, it compromises confidentiality and can enable attackers to bypass tenant isolation controls, potentially leading to further security breaches. [1, 2, 3]


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by monitoring and testing the GET endpoint `/sys/sysDepartPermission/list` for improper authorization issues. Specifically, you can attempt to send GET requests with different `departId` parameters to check if cross-tenant data is accessible without proper validation. A sample command to test this is: curl -X GET -H "Authorization: Bearer <valid_token>" "http://<host>/jeecgboot/sys/sysDepartPermission/list?departId=<target_depart_id>&pageNo=1&pageSize=10" If the response returns department permission data for a `departId` that does not belong to the authenticated tenant, it indicates the presence of the vulnerability. Additionally, audit logs should be reviewed for unusual or unauthorized access attempts to this endpoint with varying `departId` values. [2, 3]


What immediate steps should I take to mitigate this vulnerability?

Immediate mitigation steps include implementing server-side tenant ownership validation to ensure that the `departId` parameter belongs to the authenticated user's tenant before processing the request. This can be done by verifying the department's tenant ID against the current user's tenant ID and returning an error if they do not match. Additionally, enforce tenant ID filtering in database queries, for example by adding a condition like `queryWrapper.eq("tenant_id", TenantContext.getTenant())`. Using a multi-tenancy plugin such as MyBatis-Plus to enforce tenant isolation at the SQL level is recommended. Restrict query parameters to a whitelist to prevent arbitrary cross-tenant queries and enable audit logging for all department permission queries to detect unauthorized access attempts. If possible, consider replacing the affected component with an alternative product as no patches or vendor responses are available. [1, 2, 3]


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability leads to unauthorized disclosure of sensitive permission data across tenants due to improper authorization and lack of tenant ownership validation. Such unauthorized access and data leakage can result in non-compliance with data protection regulations like GDPR and HIPAA, which mandate strict access controls and protection of personal and organizational data. The exposure of organizational structures and permission configurations increases the risk of privacy violations and potential misuse of sensitive information, thereby negatively impacting compliance with these standards. [1, 2, 3]


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart