GHSA-pm7q-rjjx-979p
Oxia exposes bearer token in debug log messages on authentication failure
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/oxia-db/oxia | < 0.16.2 | 0.16.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
When OIDC authentication fails, the full bearer token is logged at DEBUG level in plaintext. If debug logging is enabled in production, JWT tokens are exposed in application logs and any connected log aggregation system.
### Impact
An attacker with access to application logs (e.g., via a compromised log aggregation pipeline, shared logging infrastructure, or misconfigured log access controls) can extract valid JWT tokens and replay them to authenticate as legitimate users.
All versions using OIDC authentication are affected.
### Details
In `oxiad/common/rpc/auth/interceptor.go`, the `validateTokenWithContext()` function logs the complete token value via `slog.String("token", token)` when authentication fails. This includes the full JWT header, payload, and signature.
### Patches
Fixed by redacting the token in log output — only the last 8 characters are preserved for correlation purposes.
### Workarounds
Ensure DEBUG-level logging is never enabled in production environments.
References
External links from the advisory. They lead to third-party sites.