OpenFGA Authorization BypassGHSA-mgh9-4mwp-fg55
Fix: openfga/openfga@1a7e0e3GHSA-mgh9-4mwp-fg55 is a CWE-863 vulnerability in github.com/openfga/openfga. A fix is available for github.com/openfga/openfga — see the affected versions and patch details below.
Exploitation Status
No confirmed exploitation observed yet
- CISA’s own triage has not observed active exploitation or public proof-of-concept code for this CVE as of its last assessment.
Exploitation and automatability from CISA’s SSVC triage for GHSA-mgh9-4mwp-fg55.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
Real-World Exposure
github.com/openfga/openfgaReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
Overview
OpenFGA v1.9.3 to v1.9.4 ( openfga-0.2.40 <= Helm chart <= openfga-0.2.41, v1.9.3 <= docker <= v.1.9.4) are vulnerable to improper policy enforcement when certain Check and ListObject calls are executed.
Am I Affected?
You are affected by this vulnerability if you are using OpenFGA v1.9.3 to v1.9.4, specifically under the following preconditions:
- Calling Check API or ListObjects with an authorization model that has a relationship directly assignable by more than 1 userset with same type, and
- There are check or list object queries that rely on the above relationship, and
- You have userset tuples that are assigned to the above relationship
Fix
Upgrade to v1.9.5. This upgrade is backwards compatible.
Workaround
Downgrade to v1.9.2 with enable-check-optimizations removed from OPENFGA_EXPERIMENTALS
Acknowledgments
OpenFGA would like Dominic Harries and rrozza-apolitical to thank for discovering this vulnerability.
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/openfga/openfga | ≥ 1.9.3&&< 1.9.5 | 1.9.5go get github.com/openfga/openfga@v1.9.5 |
Affected Products
helm chartsopenfgaopenfgaopenfgaDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/openfga/openfga, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update github.com/openfga/openfga to 1.9.5 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-mgh9-4mwp-fg55 is resolved across your whole dependency graph.
Workarounds
Put an independent control in front of the weakness: restrict the affected endpoint or interface to trusted networks, require an additional authentication factor or proxy-level check, and invalidate existing sessions and credentials in case the flaw has already been used.
Fixing This On Your OS
If you run this on a Linux distribution, patch through your package manager against the distro's own security advisory below — it tracks the exact backported fix for your release, which can ship on a different timeline (and sometimes a different severity) than the upstream project.
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.Source: Red Hat security advisory for GHSA-mgh9-4mwp-fg55 (CC BY 4.0)
Frequently Asked Questions
Is GHSA-mgh9-4mwp-fg55 in your dependencies?
Find it across Go, including transitive dependencies.