Skip to content
OpenAdvisories
Low · 3.7 CVE-2026-55866 EUVD-2026-77689GHSA-4vrg-r928-h5vvGO-2026-5133

SpiceDBChecks involving relations with caveats can result in unconditional permission when conditional permission is expected

Published Sep 14, 2026 · Updated Sep 14, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
authzed spicedb >= 1.34.1, < 1.54.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/authzed/spicedb >= 1.34.0, < 1.54.0 1.54.0 GHSA-4vrg-r928-h5vv

Advisories 1

References