GitHub Advisoryadvisory · Go

GHSA-fhvp-9hcj-6m33 Oxia has an OIDC token audience validation bypass via SkipClientIDCheck

CRITICAL Published 2026-04-14 Modified 2026-04-24 Official page ↗
Aliases
CVE-2026-40946
Ecosystem
Go
Packages
github.com/oxia-db/oxia
Severity
Critical
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Weaknesses
CWE-287
Reviewed
2026-04-14

Affected packages

• Go github.com/oxia-db/oxia: < 0.16.2 → fixed in 0.16.2

Description

Summary The OIDC authentication provider unconditionally sets `SkipClientIDCheck: true` in the `go-oidc` verifier configuration, disabling the standard audience (`aud`) claim validation at the library level. This allows tokens issued for unrelated services by the same OIDC issuer to be accepted by Oxia. Impact In deployments using OIDC authentication, an attacker possessing a valid JWT token issued by the same identity provider but intended for a different service (different `client_id`/`aud`) can authenticate to Oxia. This bypasses the intended audience isolation of OAuth2/OIDC. All versions using OIDC authentication are affected. Details In `oxiad/common/rpc/auth/oidc.go`, both `createStaticKeyVerifier()` and `createRemoteVerifier()` set `SkipClientIDCheck: true`. While a custom audience check exists in `Authenticate()`, the library-level check — which validates the `aud` claim against the expected `client_id` — is completely bypassed. Patches Fixed by removing `SkipClientIDCheck: true` and setting the `ClientID` field from the configured `AllowedAudiences`. Workarounds Ensure network-level isolation so that only trusted services can reach the Oxia gRPC endpoints.

Related

Alias · CVE (1)

  • CVE-2026-40946 Oxia is a metadata store and coordination system. vulnerability

Weakness · CWE (1)

  • CWE-287 Improper Authentication weakness

References