JeecgBoot Improper Authorization Vulnerability in Position User List Function

Vulnerability

A vulnerability exists in JeecgBoot versions prior to 3.9.0, specifically in the 'getPositionUserList' function of the 'SysPositionController'. This vulnerability allows for improper authorization by manipulating the 'positionId' parameter, enabling attackers to access user information from other tenants. The issue can be exploited remotely, although it requires a valid login session and knowledge of the target tenant's position ID. The vulnerability has been publicly disclosed and is available as a proof-of-concept exploit.

Impact

Exploitation of this vulnerability leads to unauthorized access to cross-tenant personnel information, including names, usernames, and department affiliations. This not only violates user privacy and data protection regulations but also exposes organizational structures, which can be leveraged for social engineering attacks, such as phishing or impersonation fraud. Additionally, the vulnerability allows for account enumeration by providing a list of valid usernames, which could be targeted in brute force attacks.

Reproduction

To reproduce this vulnerability, an authenticated user must send a GET request to the '/sys/position/getPositionUserList' endpoint, including a 'positionId' parameter that corresponds to a position in a different tenant. The response will contain user details from the target tenant, confirming the unauthorized access.

Remediation

To address this vulnerability, implement tenant ownership validation for position IDs before processing user list requests. Additionally, ensure that the 'getPositionUserList' method in the service layer only returns data for the current tenant. Applying data desensitization to sensitive user information and restricting access to position member lists based on permission levels can further enhance security. Finally, establish audit logging for position member queries to monitor and respond to abnormal query patterns.

Added: Dec 28, 2025, 8:18 AM
Updated: Dec 28, 2025, 8:18 AM

Vulnerability Rating

Custom Algorithm
spread
0.8
impact
0.6
exploitability
6.6
remediation
0.0
relevance
1.8
threat
6.4
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.