Sceawere

Vulnerability Detail

CVE-2026-86762UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

Snipe-IT API Authorization Bypass

Vulnerability Metadata

Severity
High
Score / CVSS
8.1
Creation Date
1d ago
Vendor
grokability
Product
snipe-it
Attack Type
Missing Authorization
Vector String
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attack Complexity
LOW

Narrative and Response

Description

Snipe-IT before 8.7.0 does not apply the CheckUserIsActivated middleware to the `api` middleware group in app/Http/Kernel.php, and deactivating a user does not revoke that user's Passport personal access tokens. As a result, although a deactivated account is correctly refused at web login, its existing API token continues to authenticate and to grant read and write access to the REST API (assets, users, licenses, etc.) at the account's prior permission level until the token expires. A deactivated account that retains user-management permissions can re-activate itself through the API, permanently defeating the deactivation control.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "8.1",
  "pubDate": "2026-09-09T14:17:26.220Z",
  "pubdate": "2026-09-09T14:17:26.220Z",
  "executiveSummary": "A critical authorization bypass vulnerability exists in Snipe-IT versions prior to 8.7.0 due to improper middleware implementation within the API authentication flow.\nThe vulnerability occurs because the 'CheckUserIsActivated' middleware is omitted from the 'api' middleware group defined in 'app/Http/Kernel.php'.\nConsequently, deactivated user accounts retain active access to the REST API via existing Laravel Passport personal access tokens, despite being restricted from web-based authentication.\nThe impact allows an unauthorized or deactivated user to maintain read and write access to sensitive assets, licenses, and user data. Furthermore, an attacker possessing sufficient permissions prior to deactivation can programmatically reactivate their own account via API requests, resulting in a persistent state of unauthorized access and privilege escalation.\nThis vulnerability effectively renders the 'deactivate' administrative control useless for API-based interactions, exposing the application to significant data breaches and unauthorized system modifications.",
  "technicalDetails": "The root cause of this vulnerability lies in an incomplete middleware enforcement strategy within the application's request lifecycle. In Snipe-IT, the web authentication layer correctly triggers the 'CheckUserIsActivated' middleware to verify the account status of a user; however, this security check is not applied to the 'api' middleware group located in 'app/Http/Kernel.php'.\nLaravel Passport, which handles token-based authentication for the API, validates the integrity and existence of a Personal Access Token but does not natively verify the current activation status of the associated user model unless explicitly instructed through middleware logic. Because the API route group bypasses the activation check, tokens issued to users remain valid even after the 'activated' flag on the corresponding user record in the database is set to false.\nThe attack flow proceeds as follows: 1) An attacker is issued a legitimate Passport personal access token while their account is active. 2) An administrator subsequently deactivates the user account through the web interface, expecting this to terminate all access. 3) The attacker, utilizing the pre-existing token, submits authenticated requests to the REST API. 4) The application authenticates the token, identifies the user, but fails to execute the activation check. 5) The attacker retains full CRUD (Create, Read, Update, Delete) privileges as defined by their prior role settings.\nThe post-exploitation impact is particularly severe if the deactivated account held user-management or administrative permissions. An attacker can leverage the persistent API access to issue requests that update the user record—specifically setting the 'activated' attribute back to true. By programmatically undoing the deactivation, the attacker bypasses the security control entirely, gaining persistent, unauthorized entry into the system. This allows for exfiltration of organizational inventory data, modification of license records, and potentially the elevation of privileges for other compromised accounts, all while the system administrator believes the malicious actor is locked out."
}
CVE-2026-86762: Snipe-IT API Authorization Bypass (HIGH Severity, CVSS: 8.1) | Sceawere