CVE-2025-15125
Improper Authorization in JeecgBoot QueryDepartPermission 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 security flaw in JeecgBoot up to version 3.9.0, specifically in the function queryDepartPermission located in the file /sys/permission/queryDepartPermission. The flaw arises from improper authorization due to manipulation of the argument departId. This means an attacker can remotely exploit this flaw by altering the departId parameter to bypass authorization controls. The attack is complex and difficult to exploit, but a public exploit is available.
How can this vulnerability impact me? :
The vulnerability can allow a remote attacker to bypass authorization controls by manipulating the departId argument in the affected function. This could potentially lead to unauthorized access to certain permissions or data within the JeecgBoot system. However, the impact is limited as the CVSS scores indicate low severity, with partial confidentiality impact and no impact on integrity or availability.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows unauthorized cross-tenant access to sensitive permission configurations, leading to disclosure of confidential information and undermining tenant isolation. Such unauthorized data access and exposure can violate data protection principles required by standards and regulations like GDPR and HIPAA, which mandate strict access controls and confidentiality of sensitive data. Therefore, this flaw negatively impacts compliance by enabling unauthorized data disclosure and potential privilege escalation. [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 analyzing API requests to the endpoint `/sys/permission/queryDepartPermission` that include the `departId` parameter. Suspicious activity includes requests where an authenticated user queries department permissions for departments outside their own tenant. A practical detection method is to log and audit all permission query requests, especially those with cross-tenant `departId` values or high-frequency queries. For example, you can use network monitoring tools or web server logs to filter requests like: curl -X GET -H "Authorization: Bearer <token>" "http://<host>/jeecgboot/sys/permission/queryDepartPermission?departId=<some_id>" and check if the `departId` belongs to the current user's tenant. Unusual or unauthorized access attempts can be flagged for further investigation. [1, 3]
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include: 1. Implement tenant ownership validation in the `queryDepartPermission` function to ensure the requested `departId` belongs to the current user's tenant before returning permission data. 2. Enforce tenant-based filtering in database queries to restrict access to only authorized tenant data. 3. Restrict permission queries to department or system administrators; ordinary users should only access their own department's permissions. 4. Apply data desensitization techniques such as masking sensitive permission information based on user roles. 5. Enable audit logging for all permission queries, focusing on cross-tenant access attempts and high-frequency requests to detect and respond to suspicious activity. If immediate code changes are not possible, consider restricting access to the vulnerable endpoint or replacing the affected component with a secure alternative. [1, 3, 2]