GitHub Advisoryadvisory · Go
GHSA-fhvp-9hcj-6m33 Oxia has an OIDC token audience validation bypass via SkipClientIDCheck
CRITICAL
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