Skip to content
Heist/ feed
Back to feed
High

Snipe-IT before 8.7.0 Authentication Bypass via API Middleware

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-86762
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 19:29 UTC · Revision 1

Source evidence

Snipe-IT before 8.7.0 Authentication Bypass via API Middleware

core-osv · Original source

Published 9 Sept 2026, 13:32 UTC

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.

osv:CVE-2026-86762
Complete source record
{
  "id": "d22285b391d84f4bdf894c3eb7815c62d6af7df725339be1d208008d34608710",
  "url": "https://osv.dev/vulnerability/CVE-2026-86762",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Snipe-IT before 8.7.0 Authentication Bypass via API Middleware",
    "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 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.",
    "evidence": "osv:CVE-2026-86762",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-86762",
      "aliases": [
        "CVE-2026-86762",
        "GHSA-cj4w-vx6j-42rf"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/grokability/snipe-it",
              "type": "GIT",
              "events": [
                {
                  "introduced": "cfd1ff8413e478a8daab700c15e96c96f93220e2"
                },
                {
                  "fixed": "1d05a7ce11e6bf9448c067ac3ffbe5e63882888e"
                },
                {
                  "fixed": "b3f12f974bb2c0175ea68dad163ed04726db4280"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "8.6.3"
                      },
                      {
                        "fixed": "8.7.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b3f12f974bb2c0175ea68dad163ed04726db4280"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86762.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:22.954868019Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86762.json",
        "https://github.com/grokability/snipe-it/security/advisories/GHSA-cj4w-vx6j-42rf",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-86762",
        "https://www.vulncheck.com/advisories/snipe-it-before-8.7.0-authentication-bypass-via-api-middleware",
        "https://github.com/grokability/snipe-it/commit/b3f12f974bb2c0175ea68dad163ed04726db4280"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-862"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86762.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-86762",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 489175,
  "published_at": "2026-09-09T13:32:21.747+00:00"
}