GitHub Advisoryadvisory · Go

GHSA-g3pg-frfm-pr2m OpenFGA: ListUsers returns a deliberately-excluded user when a `but not` exclusion under a type-bound wildcard is intersected (`and`) with another relation that also grants that user

MEDIUM Published 2026-09-16 Modified 2026-09-16 Official page ↗
Aliases
CVE-2026-61709
Ecosystem
Go
Packages
github.com/openfga/openfga
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Weaknesses
CWE-281, CWE-863
Reviewed
2026-09-16

Affected packages

• Go github.com/openfga/openfga: < 1.18.1 → fixed in 1.18.1

Description

Description In OpenFGA, the ListUsers API could incorrectly return a user who should have been excluded. Preconditions This applies if all of the following are present: • The authorization model contains a relation defined as an intersection (and) where at least one operand is an exclusion of the form base but not excluded: e.g. `rel1: (public_user but not blocked) and rel2` • The base side of that exclusion is granted through a type-bound public wildcard (e.g. user:*). • A user excluded by the but not clause is also granted, via a concrete tuple, through another operand of the intersection. • Your application uses ListUsers to enumerate or enforce access Fix Upgrade to OpenFGA v1.18.1 or greater. Acknowledgements OpenFGA would like to thank @5ud0er for the detailed report.

Related

Alias · CVE (1)

  • CVE-2026-61709 OpenFGA is an authorization and permission engine built for developers. vulnerability

Weakness · CWE (2)

  • CWE-281 Improper Preservation of Permissions weakness
  • CWE-863 Incorrect Authorization weakness

References