Impact
Kyverno’s apiCall servicecall helper automatically adds an Authorization: Bearer header when a policy omits an explicit header, using the Kyverno controller’s service account token. Because the endpoint URL is supplied by policy, an attacker who can create a ClusterPolicy that points to a malicious endpoint can cause Kyverno to send its privileged token over the network. This leads to uncontrolled token disclosure, allowing the attacker to impersonate Kyverno and potentially gain full cluster access. The vulnerability is a token‑to‑service leakage (CWE‑922).
Affected Systems
The defect resides in the community edition of Kyverno, the policy engine for Kubernetes. Versions before 1.16.4 are affected. The flaw only impacts policies of type ClusterPolicy or global‑context, as namespaced policies are blocked by an internal URL gate.
Risk and Exploitability
The CVSS score of 8.1 signals high severity. No EPSS data is available and the vulnerability is not listed in CISA KEV. Exploitation requires the ability to create or modify a ClusterPolicy, a privilege usually restricted to cluster administrators. Attacks would involve crafting a malicious servicecall policy that directs Kyverno to an attacker‑controlled endpoint, causing the service account token to be sent outbound. The risk is significant for environments with loose RBAC or poor network segmentation.
OpenCVE Enrichment
Github GHSA