Database/Container, Kubernetes & orchestration
Argo Workflows (Argo Server, --auth-mode=client on Kubernetes 1.19+ outside a pod): MULTI-TENANT ISOLATION: In this
Impact
MULTI-TENANT ISOLATION: In this configuration the client's supplied key is ignored and the server's own Kubernetes credentials are used instead. Every request silently runs at the server's privilege level, so a tenant with a narrow client identity gets whatever the Argo Server account can do across the cluster.
Who can reach it
Any client authenticating to an Argo Server that runs outside a Kubernetes pod (bare metal or VM) with --auth-mode=client on Kubernetes 1.19 or newer, where the server account is more privileged than the client.
What to do
Upgrade to 3.0.9 or 3.1.6 and restart. There is no workaround for the affected versions - if you cannot upgrade, run Argo Server inside the cluster as a pod and scope its service account down to the minimum.
References
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.