Cilium is a networking, observability, and security solution with an eBPF-based dataplane. Prior to versions 1.11.15, 1.12.8, and 1.13.1, 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 the fix is available on versions 1.11.15, 1.12.8, and 1.13.1. Some workarounds are available. 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.
During installation, installed file permissions are set to allow anyone to modify those files.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Cilium | Cilium | * | 1.11.15 (excluding) |
Cilium | Cilium | 1.12.0 (including) | 1.12.8 (excluding) |
Cilium | Cilium | 1.13.0 (including) | 1.13.1 (excluding) |