Skip to content
Heist/ feed
Back to feed
Medium

Snipe-IT 8.6.3 Broken Access Control via Kit Update Endpoints

Type: advisorySources: OSV

Snipe-IT through version 8.6.3 fails to perform object-level authorization in the updateLicense, updateConsumable, updateAccessory, and updateModel endpoints and in the storeModel endpoint for Predefined Kits. The existing check authorizes only the parent Predefined Kit (update on PredefinedKit) and not the child object being attached. As a result, an authenticated user holding only the kits.edit permission can attach a License, Consumable, Accessory, or Asset Model that they are otherwise denied (HTTP 403) from reading directly to a Predefined Kit, and the kit relation index then discloses the attached object's name back to that low-privilege user. This is the update-path and storeModel counterpart to CVE-2026-55478, which fixed only the storeLicense, storeConsumable, and storeAccessory methods in 8.6.2. Note that updateModel was code-vulnerable in 8.6.3 but not reachable in practice because a route-name typo bound the route to a nonexistent controller method, causing HTTP 500 responses. The issue is fixed in Snipe-IT 8.7.0.

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

Source evidence

Snipe-IT 8.6.3 Broken Access Control via Kit Update Endpoints

core-osv · Original source

Published 9 Sept 2026, 13:32 UTC

Snipe-IT through version 8.6.3 fails to perform object-level authorization in the updateLicense, updateConsumable, updateAccessory, and updateModel endpoints and in the storeModel endpoint for Predefined Kits. The existing check authorizes only the parent Predefined Kit (update on PredefinedKit) and not the child object being attached. As a result, an authenticated user holding only the kits.edit permission can attach a License, Consumable, Accessory, or Asset Model that they are otherwise denied (HTTP 403) from reading directly to a Predefined Kit, and the kit relation index then discloses the attached object's name back to that low-privilege user. This is the update-path and storeModel counterpart to CVE-2026-55478, which fixed only the storeLicense, storeConsumable, and storeAccessory methods in 8.6.2. Note that updateModel was code-vulnerable in 8.6.3 but not reachable in practice because a route-name typo bound the route to a nonexistent controller method, causing HTTP 500 responses. The issue is fixed in Snipe-IT 8.7.0.

osv:CVE-2026-86773
Complete source record
{
  "id": "3049409dfd0780ca9b2e6dca5f0724a36c2ea7ce2ad9c1d74aee273ba2b78725",
  "url": "https://osv.dev/vulnerability/CVE-2026-86773",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Snipe-IT 8.6.3 Broken Access Control via Kit Update Endpoints",
    "summary": "Snipe-IT through version 8.6.3 fails to perform object-level authorization in the updateLicense, updateConsumable, updateAccessory, and updateModel endpoints and in the storeModel endpoint for Predefined Kits. The existing check authorizes only the parent Predefined Kit (update on PredefinedKit) and not the child object being attached. As a result, an authenticated user holding only the kits.edit permission can attach a License, Consumable, Accessory, or Asset Model that they are otherwise denied (HTTP 403) from reading directly to a Predefined Kit, and the kit relation index then discloses the attached object's name back to that low-privilege user. This is the update-path and storeModel counterpart to CVE-2026-55478, which fixed only the storeLicense, storeConsumable, and storeAccessory methods in 8.6.2. Note that updateModel was code-vulnerable in 8.6.3 but not reachable in practice because a route-name typo bound the route to a nonexistent controller method, causing HTTP 500 responses. The issue is fixed in Snipe-IT 8.7.0.",
    "evidence": "osv:CVE-2026-86773",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-86773",
      "aliases": [
        "CVE-2026-86773",
        "GHSA-4j5f-mm59-hf9w"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/grokability/snipe-it",
              "type": "GIT",
              "events": [
                {
                  "introduced": "cfd1ff8413e478a8daab700c15e96c96f93220e2"
                },
                {
                  "fixed": "1d05a7ce11e6bf9448c067ac3ffbe5e63882888e"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "8.6.3"
                      },
                      {
                        "fixed": "8.7.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  },
                  {
                    "cpe": "cpe:2.3:a:snipeitapp:snipe-it:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "8.7.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-86773.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.780522942Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86773.json",
        "https://github.com/grokability/snipe-it/security/advisories/GHSA-4j5f-mm59-hf9w",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-86773",
        "https://www.vulncheck.com/advisories/snipe-it-8.6.3-broken-access-control-via-kit-update-endpoints"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-863"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/86xxx/CVE-2026-86773.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-86773",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 495786,
  "published_at": "2026-09-09T13:32:29.323+00:00"
}