Skip to content
Heist/ feed
Back to feed
High

Snipe-IT: 2FA bypass via the API token flow

Type: advisorySources: OSV

Snipe-IT is an IT asset/license management system. Prior to 8.7.0, a password-authenticated session for an account with self.api permission can reach the personal-access-token API flow before completing the account's second-factor challenge because CheckForTwoFactor is enforced in the web middleware group but not the API middleware group. The advisory states that the resulting persistent API token can read and modify resources with the victim's permissions and, for an administrator, can reach the users/two_factor_reset endpoint. Resetting the administrator's enrolled second factor allows the password-holding attacker to enroll an attacker-controlled factor, take over the administrator's web account, and lock out the legitimate user. The token does not create a web session, but it provides broad API access while the same browser session remains blocked at the two-factor page. This vulnerability is fixed in 8.7.0.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-63493
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 13:37 UTC · Revision 1

Source evidence

Snipe-IT: 2FA bypass via the API token flow

core-osv · Original source

Published 24 Sept 2026, 16:37 UTC

Snipe-IT is an IT asset/license management system. Prior to 8.7.0, a password-authenticated session for an account with self.api permission can reach the personal-access-token API flow before completing the account's second-factor challenge because CheckForTwoFactor is enforced in the web middleware group but not the API middleware group. The advisory states that the resulting persistent API token can read and modify resources with the victim's permissions and, for an administrator, can reach the users/two_factor_reset endpoint. Resetting the administrator's enrolled second factor allows the password-holding attacker to enroll an attacker-controlled factor, take over the administrator's web account, and lock out the legitimate user. The token does not create a web session, but it provides broad API access while the same browser session remains blocked at the two-factor page. This vulnerability is fixed in 8.7.0.

osv:CVE-2026-63493
Complete source record
{
  "id": "cdd8c081275bcaaf54d0c913217c0e368eb4777c31624f38ef98a5db9711fa1b",
  "url": "https://osv.dev/vulnerability/CVE-2026-63493",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Snipe-IT: 2FA bypass via the API token flow",
    "summary": "Snipe-IT is an IT asset/license management system. Prior to 8.7.0, a password-authenticated session for an account with self.api permission can reach the personal-access-token API flow before completing the account's second-factor challenge because CheckForTwoFactor is enforced in the web middleware group but not the API middleware group. The advisory states that the resulting persistent API token can read and modify resources with the victim's permissions and, for an administrator, can reach the users/two_factor_reset endpoint. Resetting the administrator's enrolled second factor allows the password-holding attacker to enroll an attacker-controlled factor, take over the administrator's web account, and lock out the legitimate user. The token does not create a web session, but it provides broad API access while the same browser session remains blocked at the two-factor page. This vulnerability is fixed in 8.7.0.",
    "evidence": "osv:CVE-2026-63493",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-63493",
      "aliases": [
        "CVE-2026-63493",
        "GHSA-hxcx-9h4f-42xx"
      ],
      "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": "0"
                },
                {
                  "fixed": "1d05a7ce11e6bf9448c067ac3ffbe5e63882888e"
                },
                {
                  "fixed": "87c362962a670f427be071850b218e43eff5d08e"
                },
                {
                  "fixed": "c4ea7db51ca80bf11b1d04fbe46e4a64f54dc780"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:snipeitapp:snipe-it:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "8.7.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "87c362962a670f427be071850b218e43eff5d08e"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c4ea7db51ca80bf11b1d04fbe46e4a64f54dc780"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1d05a7ce11e6bf9448c067ac3ffbe5e63882888e"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v8.7.0"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v8.4.0",
            "v8.3.3",
            "v8.3.2",
            "v8.3.1",
            "v8.3.0",
            "v8.2.1",
            "v8.2.0",
            "v8.1.18",
            "v8.1.17",
            "v8.1.16",
            "v8.1.15",
            "v8.1.4",
            "v8.1.3",
            "v8.1.2",
            "v8.1.1",
            "v8.1.0",
            "v8.0.4",
            "v8.0.3",
            "v8.0.2",
            "v8.0.1",
            "v7.1.15",
            "v7.1.14",
            "v7.0.13",
            "v7.0.10",
            "v7.0.9",
            "v7.0.8",
            "v7.0.7",
            "v7.0.6",
            "v7.0.5",
            "v7.0.0-pre",
            "v6.3.1",
            "v6.3.0",
            "v6.0.10",
            "v6.0.6",
            "v6.0.5",
            "v6.0.4",
            "v6.0.3",
            "v6.0.1",
            "v6.0.0",
            "v6.0.0-RC-8",
            "v6.0.0-GM",
            "v6.0.0-RC-5",
            "v6.0.0-RC-7",
            "v6.0.0-RC-6",
            "v6.0.0-RC-4",
            "v6.0.0-RC-3",
            "v6.0.0-RC-2",
            "v6.0.0-RC-1",
            "v5.1.8",
            "v5.1.7",
            "5.1.7",
            "v5.1.6",
            "v5.1.4",
            "v5.1.3",
            "v5.1.2",
            "v5.1.1",
            "v5.1.0",
            "v5.0.12",
            "v5.0.11",
            "v5.0.10",
            "v5.0.9",
            "v5.0.8",
            "v5.0.7",
            "v5.0.6",
            "v5.0.5",
            "v5.0.0-beta-7-GM",
            "v5.0.0-beta-6-GM",
            "v5.0.0-beta-5",
            "v5.0.0-beta-4",
            "v5.0.0-beta-3.0",
            "v4.9.4",
            "v4.9.3",
            "v4.9.2",
            "v4.9.1",
            "v4.9.0",
            "v4.8.0",
            "v4.7.8",
            "v4.7.7",
            "v4.7.5",
            "v4.7.4",
            "v4.7.3",
            "v4.7.2",
            "v4.7.0",
            "v4.6.18",
            "v4.6.17",
            "v4.6.16",
            "v4.6.15",
            "v4.6.14",
            "v4.6.13",
            "v4.6.12",
            "v4.6.11",
            "v4.6.10",
            "v4.6.9",
            "v4.6.8",
            "v4.6.7",
            "v4.6.6",
            "v4.6.5",
            "v4.6.4",
            "v4.6.3",
            "v4.6.2",
            "v4.6.1",
            "v4.6.0",
            "v4.5.0",
            "v4.4.1",
            "v4.4.0",
            "v4.3.0",
            "v4.2.0",
            "v4.1.14",
            "v4.1.13",
            "v4.1.12",
            "v4.1.11",
            "v4.1.10",
            "v4.1.9",
            "v4.1.8",
            "v4.1.7",
            "v4.1.6",
            "v4.1.5",
            "v4.1.4",
            "v4.1.3",
            "v4.1.2",
            "v4.1.1",
            "v4.1.0",
            "v4.0.15",
            "v4.0.14",
            "v4.0.13",
            "v4.0.12",
            "v4.0.11",
            "v4.0.10",
            "v4.0.9",
            "v4.0.8",
            "v4.0.7",
            "v4.0.6",
            "v4.0.5",
            "v4.0.4",
            "v4.0.3",
            "v4.0.2",
            "v4.0.1",
            "v4.0",
            "v3.6.6",
            "v3.6.5",
            "v4.0-alpha-2",
            "v3.6.4",
            "v3.6.3",
            "v3.6.2",
            "v3.6.1",
            "v3.6.0",
            "v3.5.2",
            "v3.5.1",
            "v3.5.0",
            "v3.5.0-beta2",
            "v3.5.0-beta",
            "v3.4.0-beta",
            "v3.4.0-alpha",
            "v3.3.0-beta",
            "3.2.0",
            "v3.1.0",
            "v3.0",
            "v3.0-beta.3",
            "v3.0-beta.1",
            "v3.0.0-beta",
            "v3.0-alpha2",
            "v3.0-alpha"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-63493.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:35.853874520Z",
      "provider": "osv",
      "references": [
        "https://github.com/grokability/snipe-it/releases/tag/v8.7.0",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63493.json",
        "https://github.com/grokability/snipe-it/security/advisories/GHSA-hxcx-9h4f-42xx",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-63493",
        "https://github.com/grokability/snipe-it/commit/87c362962a670f427be071850b218e43eff5d08e",
        "https://github.com/grokability/snipe-it/commit/c4ea7db51ca80bf11b1d04fbe46e4a64f54dc780",
        "https://github.com/grokability/snipe-it/pull/19294"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-288"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/63xxx/CVE-2026-63493.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-63493",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 503195,
  "published_at": "2026-09-24T16:37:09.832+00:00"
}