Database/Container, Kubernetes & orchestration
Cilium (SDS secret sync for L7 network policies): A tenant confined to their own namespace reaches across and rewrites
Impact
A tenant confined to their own namespace reaches across and rewrites another tenant's L7 policy enforcement. When SDS is enabled for L7 policies, synced Secrets and ConfigMaps land in a shared namespace where names can collide. An attacker who can create a Secret or ConfigMap in their own namespace plus a CiliumNetworkPolicy referencing it picks a name that collides with a victim's object, and their object overwrites the synchronised SDS object the victim's policy depends on — including policies using headerMatches.secret. The result is that the attacker chooses whether another tenant's traffic is permitted or denied: open a path that should be closed, or close one that should be open and take out that tenant's service. Namespace-scoped create rights on ordinary Kubernetes objects is exactly the permission set a GPU cloud hands every customer.
Who can reach it
Adjacent network / in-cluster. Requires namespace-scoped rights to create a Secret or ConfigMap and a referencing CiliumNetworkPolicy, plus knowledge of the victim object's name, on a cluster with SDS enabled for L7 policies.
What to do
Upgrade to Cilium 1.17.18, 1.18.12 or 1.19.6 and roll the agents. Workaround without upgrading: disable policy Secret synchronisation and manage referenced policy Secrets directly in the configured policy-secrets namespace (cilium-secrets by default), which removes the shared naming surface. Audit existing synced objects for unexpected owners.
References
Related entries
- Harbor: SQL injection via user-groupsCVE-2019-19029 · HarborHigh
- Rancher: restricted-admin role escalates to full adminCVE-2021-36784 · RancherHigh
- Cilium: Debug mode logs the contents of the cilium-secrets namespace, including TLS private keysCVE-2023-29002 · CiliumHigh
- Kubernetes (in-tree storage): Crafted PV/pod on Windows nodes escalates to node admin via in-tree storage pluginCVE-2023-5528 · Kubernetes (in-tree storage)High
- Cilium: HTTP policies not consistently applied to all trafficCVE-2024-28248 · CiliumHigh
- CRI-O: arbitrary systemd property injection via a pod annotation gives action on the hostCVE-2024-3154 · CRI-O container runtime (pod annotation to systemd property injection)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.