Description (CNA)
Snipe-IT versions 8.2.0 through 8.6.x (fixed in 8.7.0) contain an incorrect authorization flaw in app/Http/Controllers/Users/UsersController::update(). The single-user edit route assigned the activated field from the request payload before evaluating the canEditAuthFields authorization gate, so an authenticated non-admin user holding the users.edit permission in the target's company scope can submit a full valid PUT request to /users/{id} and toggle the activated flag on any user, including admin and superuser accounts. Deactivating an admin locks that account out of the application until another admin or superuser re-enables it. Only the activated field is affected; username, email, password and permissions remain protected by the gate, no data is disclosed, and the API (Api\UsersController::update) and bulk-edit paths are not affected.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| grokability / snipe-it | affected 8.2.0 before 8.7.0; unaffected 8.7.0 |
CWE
CWE-863
References
- https://github.com/grokability/snipe-it/security/advisories/GHSA-xq9q-777w-q9h7
- https://github.com/grokability/snipe-it/commit/02f62c8dce7bee118a07882823cd1ad098360a17
- https://www.vulncheck.com/advisories/snipe-it-8.2.0-before-8.7.0-authentication-bypass-via-activated-flag
ADP enrichment
No English description supplied.