CVE-2026-55866
NiskieCVSS 3.7Streszczenie
SpiceDB od wersji 1.34.0 do 1.54.0 może zwracać PERMISSIONSHIP_HAS_PERMISSION zamiast PERMISSIONSHIP_CONDITIONAL_PERMISSION lub PERMISSIONSHIP_NO_PERMISSION, ponieważ checkRequestToKey() i checkRequestToKeyWithCanonical() w internal/dispatch/keys/computed.go pomijają CheckHints przy budowaniu kluczy pamięci podręcznej. Wynik obliczony dla jednego zestawu wskazówek może zatruć wpis pamięci podręcznej używany przez semantycznie inny test autoryzacji.
Ocena ryzyka
Może dojść do przyznania uprawnień bez spełnienia warunku caveat, co narusza model bezpieczeństwa aplikacji. Wymaga określonej kombinacji uprawnień, równoległych operacji i włączonego cache wyników.
Rekomendacja
Zaktualizuj SpiceDB do wersji 1.54.0. Do czasu aktualizacji rozważ wyłączenie cache wyników dispatch lub unikanie równoległych LookupResources i CheckPermission dla tych samych zasobów.
Inne podatności w SpiceDB
Zobacz wszystkie- CVE-2026-46668Niskie
W SpiceDB od wersji 1.15.0 do przed 1.52.0 wykryto podatność, w której struktury caveat z zagnieżdżonymi listami mogą prowadzić do nieprawidłowego ponownego użycia pamięci podręcznej (cache). Poprawiono w wersji 1.52.0.
- CVE-2023-35930Niskie
SpiceDB, system baz danych inspirowany Google Zanzibar, ma problem z negatywnymi decyzjami autoryzacyjnymi przy użyciu zapytania `LookupResources` w wersji 1.22.0. Użytkownicy mogą nieprawidłowo uzyskać dostęp do zasobów, które powinny być zablokowane.
Oryginalny opis (angielski, źródło NVD)
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.

