OpenFGA CVE-2026-55689
HIGHSeverity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Attacker needs a valid token from the shared issuer (PR:L), reaches the API over the network (AV:N/AC:L), and gains full read/write to authorization data (C:H/I:H), with no availability impact.
Primary rating from NVD.
CVSS VectorNVD
Lifecycle Timeline
7DescriptionNVD
Description
OpenFGA's OIDC authenticator skipped JWT audience (aud) validation when no audience was configured. In deployments where one identity provider issues tokens for multiple services, a token minted for an unrelated service could authenticate to OpenFGA.
Preconditions
This applies if the following preconditions are met:
- You run OpenFGA with
authn.methodset tooidc. - You configured
authn.oidc.issuerbut did not set
authn.oidc.audience (--authn-oidc-audience / OPENFGA_AUTHN_OIDC_AUDIENCE).
Fix
Upgrade to OpenFGA 1.18.0 or greater. OpenFGA now refuses to start in oidc mode unless both authn.oidc.issuer and authn.oidc.audience are set, and the aud claim is always validated.
Acknowledgements
OpenFGA would like to thank https://github.com/0xVijay for the report.
AnalysisAI
Authentication bypass in OpenFGA versions 1.17.1 and earlier allows a validly-signed JWT issued for an unrelated service to authenticate to OpenFGA, because the OIDC authenticator silently skipped JWT audience (aud) validation whenever authn.oidc.audience was left unset. Any deployment using authn.method=oidc with a configured issuer but no configured audience trusts every token minted by that issuer, so an attacker holding a legitimate token for a different service behind the same identity provider gains full access to OpenFGA's authorization data. There is no public exploit identified at time of analysis and EPSS is low (0.30%, 22nd percentile), but the CVSS 8.1 rating reflects the high confidentiality and integrity impact on a system that governs fine-grained authorization decisions.
Technical ContextAI
OpenFGA is a CNCF fine-grained authorization engine (Zanzibar-inspired) written in Go (package github.com/openfga/openfga). When configured for OIDC authentication, its RemoteOidcAuthenticator validates incoming JWTs against the trusted issuer's JWKS. The root cause is CWE-287 (Improper Authentication): the code only appended the jwt.WithAudience(...) validation option when oidc.Audience was non-empty (if strings.TrimSpace(oidc.Audience) != ""), so an unset audience meant the aud claim was never checked. In a shared identity-provider topology where one IdP issues tokens for multiple downstream services, this collapses the audience-scoping guarantee that aud is designed to enforce (RFC 7519 §4.1.3), letting tokens intended for service A be replayed against OpenFGA. The fix makes audience validation unconditional and forces the server to refuse to start in oidc mode unless both issuer and audience are configured.
RemediationAI
Vendor-released patch: upgrade OpenFGA to 1.18.0 or greater (release https://github.com/openfga/openfga/releases/tag/v1.18.0, fix commit 44596773b2e62738720ef215bf7fa04352954271); Helm chart users should move to openfga-0.3.9 or later. If you cannot upgrade immediately, the direct compensating control is to explicitly set authn.oidc.audience (--authn-oidc-audience / OPENFGA_AUTHN_OIDC_AUDIENCE) to OpenFGA's expected audience value, which restores aud validation on the vulnerable code path - the trade-off is that you must ensure your identity provider actually mints tokens carrying that audience or all authentication will fail. As a secondary measure, use a dedicated issuer/IdP realm for OpenFGA so no other service's tokens are trusted, and network-restrict the OpenFGA API to reduce token-replay reach. After upgrading, note that 1.18.0 will refuse to start in oidc mode unless both issuer and audience are set, so validate your configuration before rollout. See advisory GHSA-hcxc-wf8j-23hv for details.
Same weakness CWE-287 – Improper Authentication
View allSame technique Authentication Bypass
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
GHSA-hcxc-wf8j-23hv