Impact
OpenFGA, a permission engine, contains a flaw where models that use conditions with caching enabled can produce identical cache keys for two distinct authorization check requests. When this occurs, the engine may return the cached result from the first request for the second, unintended request, allowing a user to be authorized for resources they should not have access to. This represents an authorization bypass that compromises confidentiality and integrity of protected data, but does not directly enable remote code execution or denial of service.
Affected Systems
The vulnerability affects all instances of openfga:openfga running versions prior to 1.13.1. Users of the OpenFGA engine that have models with condition-based relations and caching enabled are impacted. Versions 1.13.1 and later contain the remediation patch.
Risk and Exploitability
The CVSS score of 5.8 indicates a medium severity vulnerability. EPSS data is not available, so the current exploitation likelihood cannot be quantified, and the issue is not listed in CISA's KEV catalog. The most likely attack vector is through normal API calls to the authorization service – an attacker could craft two check requests that meet the caching key collision criteria and obtain unauthorized access. Because the flaw manifests only when caching is enabled for condition-based models, environments that have already disabled caching for such models are less exposed.
OpenCVE Enrichment
Github GHSA