Summary
In Cilium clusters with mutual authentication enabled, an attacker holding any valid client certificate can completely bypass mutual authentication and impersonate any other identity in the cluster. The attack is executed by obtaining the public certificate of the target identity and appending it to the attacker's certificate chain during the TLS handshake. Cilium mutual authentication is a beta feature that has been marked for deprecation. This issue is patched by a commit included in Cilium v1.17.18, v1.18.12, and v1.19.6.
Impact
An attacker with a valid client certificate and network adjacency to the targeted workload can impersonate any cluster identity, including high-privilege service identities, by appending the target's public certificate to their TLS chain. This completely undermines the mutual authentication guarantee, allowing unauthorized access to services that rely on Cilium identity-based L4 or L7 policies enforced through mutual auth. The affected version range spans Cilium v1.14.0 through v1.19.5. Clusters that do not use Cilium's mutual authentication feature are not affected.
Detection
There is no published Cilium-specific detection rule for this vulnerability. Administrators using mutual authentication should examine mTLS audit logs or Envoy access logs for connections where the certificate subject does not match the expected workload identity. Reviewing Cilium audit logs for unexpected identity resolutions on authenticated paths may surface anomalous peer identities. Consult the references for the upstream advisory and Cilium Slack for any community-developed detection guidance.
Mitigation
Upgrade Cilium to a patched version:
- v1.17.x: upgrade to v1.17.18 or later
- v1.18.x: upgrade to v1.18.12 or later
- v1.19.x: upgrade to v1.19.6 or later
Clusters running v1.14.x, v1.15.x, or v1.16.x are affected and should upgrade to v1.17.18 or a later supported release, as those branches do not receive backported patches. There is no known workaround for this issue. Disabling Cilium's mutual authentication feature eliminates the attack surface entirely; given that mutual authentication is a beta feature marked for deprecation, disabling it is a viable interim measure for clusters that do not depend on it.
Related Security Guidance
References
- GHSA-33qq-jq9c-6gcc — GitHub Security Advisory