GHSA-f3c5-6cw8-fg57
Snipe-IT's selectlist visibility is too permissive
Details
### Impact The GET /api/v1/{object}/selectlist API endpoint is missing an authorization check. Any user who can log into Snipe-IT - regardless of permissions - can retrieve a paginated list of all user accounts using only their web session cookie. No API token or elevated permissions are required. This exposes usernames, display names, employee numbers, and user IDs for every active account in the system if FMCS is not enabled, and within the company they belong to if FMCS is enabled.
### What an attacker can do with a valid login and zero permissions: - Enumerate all active user accounts by paginating through the endpoint - Harvest usernames for credential stuffing or password spray attacks - Collect employee numbers and full names for social engineering - Perform indirect email enumeration via the search parameter - Map user IDs for use in further enumeration against other endpoints
This vulnerability is exploitable only by users who have a working login to the Snipe-IT system.
### Patches https://github.com/grokability/snipe-it/commit/4f943d4a7ab8e53f3d9e32770602d1118bab005f
Are you affected?
Enter the version of the package you're using.
Affected packages
0 Fixed in: 8.5.1 composer require snipe/snipe-it:^8.5.1