Описание
SpiceDB checks involving relations with caveats can result in no permission when permission is expected
Impact
On schemas involving arrows with caveats on the arrow’ed relation, when the path to resolve a CheckPermission request involves the evaluation of multiple caveated branches, requests may return a negative response when a positive response is expected.
For example, given this schema:
and these relationships:
Permission for 'document:budget#read@user:maria with {"actual" : "admin"}' is returned as NO_PERMISSION when HAS_PERMISSION is the correct answer.
Patches
Upgrade to v1.44.2.
Workarounds
Do not use caveats in your schema over an arrow’ed relation.
Пакеты
github.com/authzed/spicedb
<= 1.44.0
1.44.2
Связанные уязвимости
SpiceDB is an open source database for storing and querying fine-grained authorization data. Prior to version 1.44.2, on schemas involving arrows with caveats on the arrow’ed relation, when the path to resolve a CheckPermission request involves the evaluation of multiple caveated branches, requests may return a negative response when a positive response is expected. Version 1.44.2 fixes the issue. As a workaround, do not use caveats in the schema over an arrow’ed relation.