{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "extracted_events": [
              {
                "introduced": "1.34.1"
              },
              {
                "fixed": "1.54.0"
              }
            ],
            "source": [
              "AFFECTED_FIELD",
              "REFERENCES"
            ]
          },
          "events": [
            {
              "introduced": "0"
            },
            {
              "fixed": "44a1c9f266bd8a884bfebfc27181210302541b9b"
            },
            {
              "fixed": "ccde792fc48750740d025d4286d5c2c88614cd30"
            },
            {
              "fixed": "3647a6e0dc353161f93ca3e520dc4342bde7af04"
            }
          ],
          "repo": "https://github.com/authzed/spicedb",
          "type": "GIT"
        }
      ]
    }
  ],
  "aliases": [
    "GHSA-4vrg-r928-h5vv"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-863"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55866.json"
  },
  "details": "SpiceDB is an open source database system for creating and managing security-critical application permissions. From 1.34.0 until 1.54.0, SpiceDB can return PERMISSIONSHIP_HAS_PERMISSION instead of PERMISSIONSHIP_CONDITIONAL_PERMISSION or PERMISSIONSHIP_NO_PERMISSION because checkRequestToKey() and checkRequestToKeyWithCanonical() in internal/dispatch/keys/computed.go omit CheckHints when constructing dispatch Check cache keys. The incorrect result requires a permission combining relations with intersection or exclusion, a subject reachable through caveated and non-caveated branches, LookupResources with a context parameter running concurrently with CheckPermission or CheckBulkPermissions for the same resource and subject, and an enabled dispatch result cache. Under these conditions, a result computed for one hint set can poison the cache entry used by a semantically different authorization check, allowing permission without satisfying the caveat. This issue is fixed in version 1.54.0.",
  "id": "CVE-2026-55866",
  "modified": "2026-09-16T03:30:41.362959225Z",
  "published": "2026-09-14T17:23:56.428Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://github.com/authzed/spicedb/releases/tag/v1.54.0"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55866.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/authzed/spicedb/security/advisories/GHSA-4vrg-r928-h5vv"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-55866"
    },
    {
      "type": "FIX",
      "url": "https://github.com/authzed/spicedb/commit/44a1c9f266bd8a884bfebfc27181210302541b9b"
    },
    {
      "type": "FIX",
      "url": "https://github.com/authzed/spicedb/commit/ccde792fc48750740d025d4286d5c2c88614cd30"
    },
    {
      "type": "FIX",
      "url": "https://github.com/authzed/spicedb/pull/3188"
    }
  ],
  "schema_version": "1.9.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N",
      "type": "CVSS_V3"
    }
  ],
  "summary": "SpiceDBChecks involving relations with caveats can result in unconditional permission when conditional permission is expected"
}