GitHub Advisoryadvisory · Go
GHSA-grjv-gjgr-66g2 SpiceDB exclusions can result in no permission returned when permission expected
MEDIUM
Official page ↗
- Aliases
- CVE-2024-38361
- Ecosystem
- Go
- Packages
- github.com/authzed/spicedb
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
- Weaknesses
- CWE-281
- Reviewed
- 2024-06-20
Affected packages
• Go github.com/authzed/spicedb: < 1.33.1 → fixed in 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:
```zed
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
Related
Alias · CVE (1)
- CVE-2024-38361 Spicedb is an Open Source, Google Zanzibar-inspired permissions database to enable fine-grained authorization for customer applications. vulnerability
Weakness · CWE (1)
- CWE-281 Improper Preservation of Permissions weakness