Skip to content

SpiceDB exclusions can result in no permission returned when permission expected

Low severity GitHub Reviewed Published Jun 20, 2024 in authzed/spicedb • Updated Jun 21, 2024

Package

gomod github.com/authzed/spicedb (Go)

Affected versions

< 1.33.1

Patched versions

1.33.1

Description

Background

Use of an exclusion under an arrow that has multiple resources may resolve to NO_PERMISSION when permission is expected.

For example, given this schema:

definition user {}

definition folder {
  relation member: user
  relation banned: user
  permission view = member - banned
}

definition resource {
  relation folder: folder
  permission view = folder->view
}

If the resource exists under multiple folders and the user has access to view more than a single folder, SpiceDB may report the user does not have access due to a failure in the exclusion dispatcher to request that all the folders in which the user is a member be returned

Impact

Permission is returned as NO_PERMISSION when PERMISSION is expected on the CheckPermission API.

Workarounds

None

References

@josephschorr josephschorr published to authzed/spicedb Jun 20, 2024
Published to the GitHub Advisory Database Jun 20, 2024
Reviewed Jun 20, 2024
Published by the National Vulnerability Database Jun 20, 2024
Last updated Jun 21, 2024

Severity

Low
3.7
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
High
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

Weaknesses

CVE ID

CVE-2024-38361

GHSA ID

GHSA-grjv-gjgr-66g2

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.