You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Separate client_id from audience (Critical/High, findings NVIDIA#1/NVIDIA#3):
- Add oidc_audience field to GatewayMetadata separate from oidc_client_id
- Bootstrap stores client_id and audience independently
- Fixes the conflation that made the docs overstate provider portability
2. Skip list risk documentation (Critical, finding NVIDIA#2):
- The skip list is by design for sandbox supervisor RPCs which use
SSH handshake secrets. Noted for future hardening with per-sandbox
credentials.
3. Reject partial-empty RBAC config (Medium, finding NVIDIA#4):
- AuthzPolicy::validate() rejects configs where only one of
admin_role/user_role is set
- Server validates at startup before accepting requests
- Prevents silently opening admin endpoints to any authenticated user
4. Preserve refresh token on refresh (Medium, finding NVIDIA#5):
- oidc_refresh_token() keeps the old refresh_token when the server
doesn't return a new one, per OAuth 2.0 spec
5. Additional concerns:
- Percent-decode callback query parameters (code, state, error)
- Drop scope=openid from client_credentials flow
- Use /dev/urandom for PKCE verifier/state on Unix
- Validate discovery issuer matches configured issuer (both server
and CLI) to prevent SSRF/misdirection
- Wire RBAC config (rolesClaim, adminRole, userRole) through Helm
values and statefulset template
0 commit comments