An attacker with access to a Cilium agent pod can write to /opt/cni/bin
due to a hostPath
mount of that directory in the agent pod. By replacing the CNI binary with their own malicious binary and waiting for the creation of a new pod on the node, the attacker can gain access to the underlying node.
The issue has been fixed and is available on versions >=1.11.15, >=1.12.8, >=1.13.1.
Kubernetes RBAC should be used to deny users and service accounts exec
access to Cilium agent pods.
In cases where a user requires exec
access to Cilium agent pods, but should not have access to the underlying node, no workaround is possible.
The Cilium community has worked together with members of Isovalent and Form3 to prepare these mitigations. Special thanks to Anastasios Koutlis, Daniel Teixeira, and Magdalena Oczadly for their cooperation.
If you have any questions or comments about this advisory, please reach out on Slack.
As usual, if you think you found a related vulnerability, we strongly encourage you to report security vulnerabilities to our private security mailing list: security@cilium.io - first, before disclosing them in any public forums. This is a private mailing list where only members of the Cilium internal security team are subscribed to, and is treated as top priority.