ghsa-c72g-53hw-82q7
Vulnerability from github
Overview
OpenFGA v1.8.0 to v1.8.12 ( openfga-0.2.16 <= Helm chart <= openfga-0.2.31, v1.8.0 <= docker <= v.1.8.12) are vulnerable to authorization bypass when certain Check and ListObject calls are executed.
Am I Affected?
If you are using OpenFGA v1.8.0 to v1.8.12, specifically under the following conditions, you are affected by this authorization bypass vulnerability: - Calling Check API or ListObjects with an authorization model that has a relationship directly assignable by both type bound public access and userset, and - There are check or list object queries with contextual tuples for the relationship that can be directly assignable by both type bound public access and userset, and - Those contextual tuples’s user field is an userset, and - Type bound public access tuples are not assigned to the relationship
Fix
Upgrade to v1.8.13. This upgrade is backwards compatible.
Acknowledgments
Okta would like to thank @udyvish for discovering this vulnerability.
{ "affected": [ { "package": { "ecosystem": "Go", "name": "github.com/openfga/openfga" }, "ranges": [ { "events": [ { "introduced": "1.8.0" }, { "fixed": "1.8.13" } ], "type": "ECOSYSTEM" } ] } ], "aliases": [ "CVE-2025-48371" ], "database_specific": { "cwe_ids": [ "CWE-285" ], "github_reviewed": true, "github_reviewed_at": "2025-05-23T18:41:38Z", "nvd_published_at": "2025-05-22T23:15:19Z", "severity": "MODERATE" }, "details": "### Overview\nOpenFGA v1.8.0 to v1.8.12 ( openfga-0.2.16 \u003c= Helm chart \u003c= openfga-0.2.31, v1.8.0 \u003c= docker \u003c= v.1.8.12) are vulnerable to authorization bypass when certain Check and ListObject calls are executed.\n\n\n### Am I Affected?\nIf you are using OpenFGA v1.8.0 to v1.8.12, specifically under the following conditions, you are affected by this authorization bypass vulnerability:\n- Calling Check API or ListObjects with an [authorization model](https://openfga.dev/docs/concepts#what-is-an-authorization-model) that has a relationship directly assignable by both [type bound public access](https://openfga.dev/docs/concepts#what-is-type-bound-public-access) and [userset](https://openfga.dev/docs/modeling/building-blocks/usersets), and\n- There are check or list object queries with [contextual tuples](https://openfga.dev/docs/interacting/contextual-tuples) for the relationship that can be directly assignable by both [type bound public access](https://openfga.dev/docs/concepts#what-is-type-bound-public-access) and [userset](https://openfga.dev/docs/modeling/building-blocks/usersets), and\n- Those contextual tuples\u2019s user field is an userset, and\n- Type bound public access tuples are not assigned to the relationship\n\n### Fix\nUpgrade to v1.8.13. This upgrade is backwards compatible.\n\n### Acknowledgments\nOkta would like to thank @udyvish for discovering this vulnerability.", "id": "GHSA-c72g-53hw-82q7", "modified": "2025-06-10T20:33:34Z", "published": "2025-05-23T18:41:38Z", "references": [ { "type": "WEB", "url": "https://github.com/openfga/openfga/security/advisories/GHSA-c72g-53hw-82q7" }, { "type": "ADVISORY", "url": "https://nvd.nist.gov/vuln/detail/CVE-2025-48371" }, { "type": "WEB", "url": "https://github.com/openfga/openfga/commit/e5960d4eba92b723de8ff3a5346a07f50c1379ca" }, { "type": "PACKAGE", "url": "https://github.com/openfga/openfga" }, { "type": "WEB", "url": "https://pkg.go.dev/vuln/GO-2025-3707" } ], "schema_version": "1.4.0", "severity": [ { "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:H", "type": "CVSS_V4" } ], "summary": "OpenFGA Authorization Bypass" }
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.