CVE-2024-56323
NoneOpenFGA Authorization Bypass
CVSS
—
EPSS
0.4%
Published
Jan 13, 2025
CISA due date
—
Cloudanix analysis
A problem in an access-control system could let some requests incorrectly decide who is allowed to see or list information when certain advanced features are active.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Data Exposure
- Component
- Application
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Authorization bypass in Check and ListObjects API calls when models use conditions, caching is enabled, and contextual tuples containing conditions are supplied.
Why it matters to the business
Attackers may obtain unauthorized access decisions or object listings, resulting in data exposure or improper permission grants within applications relying on the authorization service.
How an attack unfolds
An attacker identifies an OpenFGA deployment using conditional models with caching enabled, then issues Check or ListObjects requests that include contextual tuples containing conditions; the cache mishandles these inputs and returns incorrect authorization results.
How to fix it
Upgrade OpenFGA to version 1.8.3 or later; the change is backward compatible. If immediate upgrade is not possible, disable check-query caching via OPENFGA_CHECK_QUERY_CACHE_ENABLED.
How to confirm the fix worked
Confirm the running version is 1.8.3 or newer; replay test Check and ListObjects calls that previously triggered the bypass and verify correct authorization results are returned.
Typical attack path
- Scan for OpenFGA instances running versions 1.3.8 through 1.8.2 with caching enabled
- Obtain or infer a model definition that uses conditions
- Craft Check or ListObjects requests that supply contextual tuples containing conditions
- Observe incorrect authorization decisions that grant access not permitted by policy
How to detect it
Review OpenFGA audit and request logs for Check and ListObjects API calls that contain contextual tuples and were processed while caching was enabled; look for repeated or anomalous authorization decisions on conditional models.
What your security team should do
- Upgrade all OpenFGA deployments to 1.8.3 immediately
- Audit logs for Check and ListObjects calls that include contextual tuples while caching was active
- Temporarily disable caching until patches are applied if risk is elevated
- Review models that use conditions for reliance on contextual tuples
The record
### Overview OpenFGA v1.3.8 to v1.8.2 (Helm chart openfga-0.1.38 to openfga-0.2.19, docker v1.3.8 to v.1.8.2) are vulnerable to authorization bypass when certain Check and ListObject calls are executed. ### Am I Affected? You are affected by this authorization bypass vulnerability if you are using OpenFGA v1.3.8 to v1.8.2, specifically under the following conditions: 1. Calling Check API or ListObjects with a model that uses [conditions](https://openfga.dev/docs/modeling/conditions), and 2. OpenFGA is configured with caching enabled (`OPENFGA_CHECK_QUERY_CACHE_ENABLED`), and 3. Check API call or ListObjects API calls contain [contextual tuples](https://openfga.dev/docs/concepts#what-are-contextual-tuples) that include conditions. ### Fix Upgrade to v1.8.3. This upgrade is backwards compatible.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Go | github.com/openfga/openfga | 1.3.8 | 1.8.3 |
| Chainguard | grafana-11.2 | 0 | 11.2.10.01-r7 |
| Chainguard | grafana-11.2-oci-compat | 0 | 11.2.10.01-r7 |
| Chainguard | grafana-11.3 | 0 | 11.3.9-r5 |
| Chainguard | grafana-11.3-oci-compat | 0 | 11.3.9-r5 |
| Chainguard | grafana-11.4 | 0 | 11.4.8-r2 |
| Chainguard | grafana-11.4-oci-compat | 0 | 11.4.8-r2 |
| Chainguard | grafana-11.5 | 0 | 11.5.0-r1 |
| Chainguard | grafana-11.5-oci-compat | 0 | 11.5.0-r1 |
| Chainguard | grafana-fips-11.2 | 0 | 11.2.10.01-r6 |
| Chainguard | grafana-fips-11.2-oci-compat | 0 | 11.2.10.01-r6 |
| Chainguard | grafana-fips-11.3 | 0 | 11.3.9-r4 |
| Chainguard | grafana-fips-11.3-oci-compat | 0 | 11.3.9-r4 |
| Chainguard | grafana-fips-11.4 | 0 | 11.4.8-r2 |
| Chainguard | grafana-fips-11.4-oci-compat | 0 | 11.4.8-r2 |
| Chainguard | grafana-fips-11.5 | 0 | 11.5.0-r1 |
| Chainguard | grafana-fips-11.5-oci-compat | 0 | 11.5.0-r1 |
| SUSE:Linux Enterprise Module for Package Hub 15 SP6 | govulncheck-vulndb | 0 | 0.0.20250128T150132-150000.1.29.1 |
| Wolfi | grafana-11.2 | 0 | 11.2.10.01-r7 |
| Wolfi | grafana-11.2-oci-compat | 0 | 11.2.10.01-r7 |
| Wolfi | grafana-11.3 | 0 | 11.3.9-r5 |
| Wolfi | grafana-11.3-oci-compat | 0 | 11.3.9-r5 |
| Wolfi | grafana-11.4 | 0 | 11.4.8-r2 |
| Wolfi | grafana-11.4-oci-compat | 0 | 11.4.8-r2 |
| Wolfi | grafana-11.5 | 0 | 11.5.0-r1 |
| Wolfi | grafana-11.5-oci-compat | 0 | 11.5.0-r1 |
| go | github.com/openfga/openfga | 1.3.8 | 1.8.3 |
| openSUSE:Leap 15.6 | govulncheck-vulndb | 0 | 0.0.20250128T150132-150000.1.29.1 |
| openSUSE:Tumbleweed | govulncheck-vulndb | 0 | 0.0.20250115T172141-1.1 |
Related vulnerabilities
- CVE-2026-24851 OpenFGA is a high-performance and flexible authorization/permission engine built for… Also affects github.com/openfga/openfga
- CVE-2025-64751 OpenFGA Improper Policy Enforcement Also affects github.com/openfga/openfga
- CVE-2025-46331 OpenFGA Authorization Bypass Also affects github.com/openfga/openfga
- CVE-2025-25196 OpenFGA Authorization Bypass Also affects github.com/openfga/openfga
- CVE-2025-11065 A flaw was found in github.com/go-viper/mapstructure/v2, in the field processing… Also affects grafana-11.2
- CVE-2025-30153 kin-openapi is a Go project for handling OpenAPI files. Also affects grafana-11.2
- CVE-2024-11741 Grafana is an open-source platform for monitoring and observability. Also affects grafana-11.2
- CVE-2024-45339 When logs are written to a widely-writable directory (the default), an unprivileged… Also affects grafana-11.2