Skip to content
OpenAdvisories
Medium · 6.9 CVE-2023-41333 BIT-cilium-2023-41333BIT-cilium-operator-2023-41333BIT-cilium-proxy-2023-41333BIT-hubble-2023-41333BIT-hubble-relay-2023-41333BIT-hubble-ui-2023-41333BIT-hubble-ui-backend-2023-41333EUVD-2023-2423GHSA-4xp2-w642-7mcxGO-2023-2080

Bypass of namespace restrictions in CiliumNetworkPolicy

Published Sep 26, 2023 · Updated Sep 23, 2024 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
cilium cilium >= 1.14.0, < 1.14.2, >= 1.13.0, < 1.13.7, < 1.12.14 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/cilium/cilium >= 1.14.0, < 1.14.2 1.14.2 GHSA-4xp2-w642-7mcx
Go github.com/cilium/cilium >= 1.13.0, < 1.13.7 1.13.7 GHSA-4xp2-w642-7mcx
Go github.com/cilium/cilium < 1.12.14 1.12.14 GHSA-4xp2-w642-7mcx
Go github.com/cilium/cilium < 1.12.14 · >= 1.13.0, < 1.13.7 · >= 1.14.0, < 1.14.2 1.12.14, 1.13.7, 1.14.2 GO-2023-2080

References