CVE-2023-41333
Description
Cilium is a networking, observability, and security solution with an eBPF-based dataplane. An attacker with the ability to create or modify CiliumNetworkPolicy objects in a particular namespace is able to affect traffic on an entire Cilium cluster, potentially bypassing policy enforcement in other namespaces. By using a crafted `endpointSelector` that uses the `DoesNotExist` operator on the `reserved:init` label, the attacker can create policies that bypass namespace restrictions and affect the entire Cilium cluster. This includes potentially allowing or denying all traffic. This attack requires API server access, as described in the Kubernetes API Server Attacker section of the Cilium Threat Model. This issue has been resolved in Cilium versions 1.14.2, 1.13.7, and 1.12.14. As a workaround an admission webhook can be used to prevent the use of `endpointSelectors` that use the `DoesNotExist` operator on the `reserved:init` label in CiliumNetworkPolicies.
How to fix
- cilium cilium1.12.14, 1.13.7, 1.14.2 or later
- github.com/cilium/cilium1.14.2, 1.13.7, 1.12.14 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| cilium cilium | v < 1.12.14, 1.13.0 ≤ v < 1.13.7, 1.14.0 ≤ v < 1.14.2 | 1.12.14, 1.13.7, 1.14.2 |
| github.com/cilium/ciliumGo | 1.14.0 ≤ v < 1.14.2, 1.13.0 ≤ v < 1.13.7, v < 1.12.14 | 1.14.2, 1.13.7, 1.12.14 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.