CVE-2025-55213 is a critical authorization flaw in OpenFGA, the Zanzibar inspired permission engine. In v1.9.3 and v1.9.4, some Check and ListObjects calls enforce policy improperly under specific model conditions. The fix is v1.9.5, or Helm chart 0.2.42 for Kubernetes deployments.
What's affected
- Product: OpenFGA, the authorization engine, including its Docker image and Helm chart.
- Affected: Go module and Docker versions 1.9.3 up to but not including 1.9.5, and Helm chart versions 0.2.40 and 0.2.41.
- Fixed: 1.9.5 for the server and image, and 0.2.42 for the Helm chart.
- Conditions: you are affected only if you call the Check API or ListObjects with an authorization model that has a relationship directly assignable by more than one userset of the same type, and queries rely on that relationship, and you have userset tuples assigned to it.
- Workaround: downgrade to 1.9.2 with
enable-check-optimizationsremoved from theOPENFGA_EXPERIMENTALSsetting.
The fix is described as backwards compatible. The CVE record says 9.8, but the GitHub advisory rates the issue moderate at 5.8 on CVSS 4.0, with the main impact on downstream systems that trust OpenFGA answers. Read the conditions above to judge your own exposure.
How to check if you're exposed
Start with the version of the server and chart.
openfga version
docker ps --format "{{.Names}} {{.Image}}" | grep -i openfga
helm list --all-namespaces | grep -i openfga
If the version is 1.9.3 or 1.9.4, or the chart is 0.2.40 or 0.2.41, move on to your model. Look for relations that allow more than one userset of the same type to be assigned directly, and check whether your tuples include such usersets for those relations. You can export the model with the OpenFGA CLI or API to review it.
Also check whether the experimental setting enable-check-optimizations is in your OPENFGA_EXPERIMENTALS, since the workaround removes it.
Safeguard has a free in-browser dependency scan at gold.safeguard.sh/scan that checks a manifest or lockfile against known vulnerabilities, and the Gold directory lists affected packages for each CVE.
What to do now
- Upgrade the OpenFGA server to v1.9.5 or later, and the Helm chart to 0.2.42 or later.
- If you cannot upgrade at once, use the documented workaround: downgrade to 1.9.2 with
enable-check-optimizationsremoved from the experimental settings. - Review your authorization model for the relationship pattern named in the advisory, to understand which checks could have returned an incorrect answer.
- Look at access decisions made since you deployed 1.9.3 or 1.9.4 for places where access might have been granted wrongly, and decide whether any need review.
- Add a regression test for important permission checks, so an engine upgrade cannot silently change an answer.
Why it matters
The listed weakness is incorrect authorization. An authorization engine exists to answer one question reliably: may this user do this thing? In the affected releases, an optimization path for Check and ListObjects could produce the wrong answer for models of a particular shape. Applications that trust the engine then apply the wrong decision.
That is the reason the score is so high on one scale and moderate on another. The engine itself does not leak data, but everything downstream that depends on its decisions inherits the error. For a permissions service, correctness bugs are security bugs. Pin versions, read release notes before upgrades, and test the decisions that matter most. The CVE is not on the CISA KEV list.
The weakness is classed as CWE-863 (Incorrect Authorization). Severity in the CVE record: critical, CVSS 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).
Try it yourself
When a clean fix exists, the work is to find every place that runs the old version. This demo shows that step.
Click through it at your own pace, or open it full screen.
Quick check
Am I affected if I run 1.9.4?
Only if your model and data match the conditions: a relationship directly assignable by more than one userset of the same type, with queries and userset tuples that use it. Upgrade anyway.
Is there a workaround?
Yes. The advisory says to downgrade to 1.9.2 with enable-check-optimizations removed from OPENFGA_EXPERIMENTALS.
Sources
- GitHub advisory GHSA-mgh9-4mwp-fg55
- Fix commit (listed in the CVE record, not fetched)
Last reviewed: 18 October 2026.