---
id: CVE-2026-86762
title: >-
  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
summary: >-
  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 d…
severity: high
cvss: 8.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-862
vendor: snipeitapp
product: snipe-it
affected:
  - snipe-it < 8.7.0
patched:
  - snipe-it 8.7.0
published: '2026-09-09'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T20:27:03.530'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-86762'
references:
  - url: >-
      https://github.com/grokability/snipe-it/commit/b3f12f974bb2c0175ea68dad163ed04726db4280
    label: disclosure@vulncheck.com
  - url: >-
      https://github.com/grokability/snipe-it/security/advisories/GHSA-cj4w-vx6j-42rf
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/snipe-it-before-8.7.0-authentication-bypass-via-api-middleware
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
epss: 0.00469
epssPercentile: 0.37947
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-09-10T14:18:35.422701Z'
ingestedAt: '2026-09-10T15:39:07.531Z'
---

## Overview

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.

## Affected

- `snipe-it < 8.7.0`

## Remediation

Upgrade past the affected range:

- `snipe-it 8.7.0`
