GPU VulnDB

Database/Container, Kubernetes & orchestration

Kyverno: admission controller ServiceAccount token attached to outbound apiCall requests leaks to any endpoint

CVE-2026-84195Container, Kubernetes & orchestrationcurated

Impact

Kyverno's apiCall service mode attaches the admission controller's own ServiceAccount token to outbound HTTP requests without an explicit authorization header, so any endpoint a policy calls receives that token. A user who can get a policy to make an apiCall to an external or attacker-controlled URL captures the token and inherits the admission controller's permissions, which in a typical install means full control over Kyverno policies and broad cluster resource access. On a GPU cluster that matters because the admission controller is usually the thing enforcing which images may run, which namespaces may request GPUs, and which pods may mount device or hostPath resources - owning it means being able to turn those guardrails off cluster-wide rather than attacking one node at a time.

Who can reach it

An authenticated user with enough privilege to influence a policy's apiCall service URL, or anyone who controls a host that Kyverno policies already call out to. Not reachable unauthenticated from outside the cluster.

What to do

Upgrade Kyverno to 1.16.4 or later, then roll the admission controller Deployment so the new image is running. Because the leaked credential is the controller's ServiceAccount token, rotate that token after patching rather than assuming the upgrade alone closes the exposure, and audit which external endpoints existing apiCall policies point at. This is a control-plane workload restart, not a node action - GPU workloads do not need to be drained.

References

Related entries

All Container, Kubernetes & orchestration entries

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.