Skip to main content
HIGH7.2CVE-2026-104149GHSA-vh48-r624-p8v7
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Affected projects
cilium
Disclosed
Last updated

Affected versions

ProjectVulnerable range
Cilium>= 1.18.0, < 1.18.9
Cilium>= 1.17.0, < 1.17.15
Cilium>= 1.16.0, <= 1.16.19

Patched versions

ProjectFixed in
Cilium1.18.9
Cilium1.17.15

References

Summary​

On nodes where Cilium is attached to both a VLAN interface and its parent interface, and where TCX attachment is enabled (as is the case on Linux kernel 6.2 and newer), Cilium incorrectly treats packets received on the VLAN interface as having already passed through the proxy or host firewall. This causes ingress host policies and L7 network policies to be skipped for connections arriving from outside the node, allowing otherwise-denied traffic to reach targeted pods.

Impact​

An external attacker with the ability to send traffic to pods on affected nodes can bypass ingress host policies and L7 network policies, reaching pods that should otherwise be inaccessible. Same-node pod traffic is not known to be affected. Non-host L3 and L4 policies are not affected. Source-side egress policies, if configured to deny the traffic, may still provide protection. The vulnerability is present on all Cilium v1.16 releases, v1.17.0–v1.17.14, and v1.18.0–v1.18.8 when the described VLAN and TCX conditions are met.

Detection​

Identify affected nodes by checking whether Cilium is attached to both a VLAN interface and its parent interface, and whether TCX is enabled (--enable-tcx=true, which is the default on kernel 6.2+). Unexpected ingress traffic reaching pods through a VLAN-attached interface—traffic that should be denied by ingress host or L7 policy—may indicate exploitation. Review Cilium's datapath metrics and Hubble flow logs for policy verdict anomalies on VLAN-attached nodes.

Mitigation​

Upgrade Cilium to a patched version:

  • v1.17.x: upgrade to v1.17.15 or later
  • v1.18.x: upgrade to v1.18.9 or later

No patch is available for the Cilium v1.16 branch, which has reached end of support. Operators on v1.16 should upgrade to a supported release.

If an immediate upgrade is not possible, apply one of the following workarounds:

  • Disable TCX by passing --enable-tcx=false as a Cilium agent flag, or setting bpf.enableTCX: false in the Cilium Helm chart.
  • Depending on cluster configuration and use cases, configure egress policies to mitigate the exposure.

References​