Описание
SpiceDB is an open source database system for creating and managing security-critical application permissions. In versions prior to 1.45.2, users who use the exclusion operator somewhere in their authorization schema; have configured their SpiceDB server such that --write-relationships-max-updates-per-call is bigger than 6500; and issue calls to WriteRelationships with a large enough number of updates that cause the payload to be bigger than what their datastore allows; will receive a successful response from their WriteRelationships call, when in reality that call failed, and receive incorrect permission check results, if those relationships had to be read to resolve the relation involving the exclusion. Version 1.45.2 contains a patch for the issue. As a workaround, set --write-relationships-max-updates-per-call to 1000.
A vulnerability has been identified in the WriteRelationships API of SpiceDB, where large relationship-update requests can be silently dropped when the payload exceeds what the underlying datastore permits. This occurs because the server does not always return an error when processing oversized write operations, especially in schemas that use the exclusion operator and in deployments configured with very high per-call write limits. An attacker or misconfigured client could exploit this behavior by sending an excessively large update request, causing the intended relationship changes to be ignored and resulting in incomplete or inconsistent authorization state.
Отчет
This issue is rated Moderate severity, because it affects the behavior of a network-facing API: an attacker or misconfigured client can send an oversized WriteRelationships payload that is silently ignored by the server. The primary impact is to integrity, as expected relationship updates may not be written, with a secondary availability concern where applications may behave incorrectly due to missing authorization state. The flaw does not expose confidential data. The practical impact of this issue depends on specific configuration and schema conditions. Systems are only affected when all of the following are true:
- the authorization schema uses the exclusion operator,
- the server’s
--write-relationships-max-updates-per-calllimit is set above6500, and - clients issue
WriteRelationshipscalls large enough to exceed the datastore’s allowed payload size.
Меры по смягчению последствий
Дополнительная информация
Статус:
EPSS
5.4 Medium
CVSS3
Связанные уязвимости
SpiceDB is an open source database system for creating and managing security-critical application permissions. In versions prior to 1.45.2, users who use the exclusion operator somewhere in their authorization schema; have configured their SpiceDB server such that `--write-relationships-max-updates-per-call` is bigger than 6500; and issue calls to WriteRelationships with a large enough number of updates that cause the payload to be bigger than what their datastore allows; will receive a successful response from their `WriteRelationships` call, when in reality that call failed, and receive incorrect permission check results, if those relationships had to be read to resolve the relation involving the exclusion. Version 1.45.2 contains a patch for the issue. As a workaround, set `--write-relationships-max-updates-per-call` to `1000`.
SpiceDB WriteRelationships fails silently if payload is too big
EPSS
5.4 Medium
CVSS3