Where
-Infinity
0

Vendor Risk Score

See how cilium compares to other vendors in security performance

View Risk Score →
Severity
5.4
AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Impact

Standard Kubernetes NetworkPolicy specifications using CIDR-based ipBlock rules without pod or namespace selectors erroneously generate a wildcard namespace allow rule under specific cluster configurations.

When Cilium deployment is configured with a specific custom clusterName (rather than the default "any" value), the parser incorrectly instantiates a pod selector on selectorless peer definitions. This leads to Cilium appending an unintended wildcard namespace label selector to the policy's allowed Layer 3 rules, which allows traffic from other workloads in the same namespace as the subject of the policy.

Example policy affected by this issue: apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-server namespace: default spec: podSelector: matchLabels: app: test-server policyTypes: - Ingress ingress: - from: - ipBlock: cidr: 192.0.2.3

In affected versions, this policy erroneously allows the test-server Pod in the default namespace to receive any traffic from other workloads running in the default namespace.

Patches

This issue has been patched in:

- Cilium v1.19.5

Releases below v1.19.0 are not affected.

This issue affects:

- Cilium v1.19 between v1.19.0 and v1.19.4 inclusive

Workarounds

Developers can create the equivalent policy using CiliumNetworkPolicy fromCIDR expressions. CiliumNetworkPolicy and CiliumClusterwideNetworkPolicy are not affected by this issue.

Acknowledgements

Special thanks to @TheBeeZee for reporting this issue and preparing the fix, and to @fristonio and @odinuge for their assistance in reviewing the solution.

For more information

If a vulnerability affecting Cilium appears to have been found, the Cilium security team strongly encourages reporting it to the security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and the report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
8.9
AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L

Impact

In Cilium clusters using Gateway API, users with permissions to create or update namespaced HTTPRoutes can mirror HTTP traffic to any Service in any namespace, bypassing the ReferenceGrant authorization mechanism.

Gateway API functionality is disabled by default.

Patches

This issue affects:

Cilium v1.19 from v1.19.0 to v1.19.4 inclusive Cilium v1.18 from v1.18.0 to v1.18.10 inclusive All versions of Cilium before v1.17.17

This issue is patched in:

Cilium v1.19.5 Cilium v1.18.11 Cilium v1.17.17

Workarounds

There is no workaround to this issue. Users of this feature who are unable to upgrade can mitigate the risk by ensuring that RBAC permissions to create HTTPRoute objects are only granted to cluster admins.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @galanko for reporting the issue and @mhofstetter for their work on triaging and remediating this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )

Hi Alexander, xylove21's AI sent us 4 other claimed vulnerability reports to oss-security, but not actually this one you're replying to (and I just checked the logs, found no trace of it - not even spam-filtered). I suspect we may have been the initial target for this activity; we received a test email to security () cilium io prior to this email. Additionally, this report has unusual formatting. The email body suggests an intention to send the disclosure to openwall with CC to our list, but the email itself was sent directly to our security list. Have you looked into the reported issue and determined whether it's real or not? I ask so that we have extra input on how to treat other reports by xylove21. The feature discussed in the disclosure is an alpha feature that we've been developing this cycle. We identified and fixed the reported issue as part of development activities, so it will not be part of a stable release. The report from xylove21 accurately identified the commit and PR that introduced the bug, as well as the commit that fixed the bug and corresponding PR.

If you asked a model to read git logs to identify changes with security impact, it would probably point to the fix commit referenced in the original message. The combination of "fix" and "network policy" in a commit title is likely sufficient signal. Evidently the claw was also directed to identify which commit may have introduced the issue. I would guess the motivation was to identify known issues which may not have had a public disclosure, and attempt to file a CVE for the issue to claim some credit. Given these versions are not recommended for production and the feature is alpha, we do not see a motivation to file a CVE.

Cheers, Joe

On Tue, Jul 7, 2026 at 11:26 AM Solar Designer <solar () openwall com> wrote: Hello Feroz,

xylove21's AI sent us 4 other claimed vulnerability reports to oss-security, but not actually this one you're replying to (and I just checked the logs, found no trace of it - not even spam-filtered).

Given the confusion about embargoes vs. publication and a lot of other aspects like this, I doubt the vulnerabilities are for real. It feels like a less capable model from last year or older, not state of the art.

On Tue, Jul 07, 2026 at 09:07:11PM +0530, Feroz Salam wrote: As noted in your report, the issue you have reported only affects development snapshots of Cilium, and no released stable versions. We do not expect these development snapshots to be used in production environments, and do not see the benefit of CVE issuance in this case. Have you looked into the reported issue and determined whether it's real or not? I ask so that we have extra input on how to treat other reports by xylove21. From: xylove21 <xuy0515 () gmail com> Unlike the xylove21 () proton me address these reports were sent from, the above Gmail address actually exists, and we got a response from it (probably also written by AI) on another issue. - 2026-06-29 19:56 +08:00 — Filing publicly via oss-security (escalation after 9 days of GHSA Triage silence). - 90-day public disclosure timeline: public release 2026-09-22 (or upon upstream fix in v1.20.0 stable, whichever comes first). If an AI is so poor it "thinks" there's distinction between "Filing publicly" and "public disclosure", it feels unlikely its "reasoning" about the claimed vulnerabilities is sound.

Alexander

-- You received this message because you are subscribed to the Google Groups "Cilium Security Response Team" group. To unsubscribe from this group and stop receiving emails from it, send an email to cilium-security+unsubscribe () isovalent com. To view this discussion visit https://groups.google.com/a/isovalent.com/d/msgid/cilium-security/20260707182636.GA20763%40openwall.com.

First published (updated )

Hello,

As noted in your report, the issue you have reported only affects development snapshots of Cilium, and no released stable versions. We do not expect these development snapshots to be used in production environments, and do not see the benefit of CVE issuance in this case.

Regarding the lack of response from the Cilium project, we responded to your GitHub security advisory submission on 30 June to inform you that we were triaging your report. Your initial report mentions that you are "willing to wait up to 90 days from this report" before disclosure, but filing this issue publicly contradicts your stated timeline.

Feroz Salam Cilium Security Team

On Tue, 7 Jul 2026 at 18:26, 'xylove21' via Cilium Security Response Team < cilium-security () isovalent com> wrote: From: xylove21 <xuy0515 () gmail com> To: oss-security () lists openwall com Cc: security () cilium io Subject: [CVE request] Cilium ClusterNetworkPolicy matchExpressions Values silently dropped — 0-day in v1.20.0-pre releases, no maintainer response in 9 days via GHSA Triage

Hi oss-security,

Filing this publicly because the Cilium project's GitHub Security Advisory has been in Triage state for 9 days with no maintainer engagement, and the chrome 9222 / GitHub UI block in this environment prevents direct follow-up on the GHSA thread. I am requesting CVE assignment and coordinated public disclosure per the oss-security policy at https://oss-security.openwall.org/wiki/mailing-lists/oss-security.

Summary

Cilium's ClusterNetworkPolicy CRD ( sigs.k8s.io/network-policy-api/v1alpha2 <http://sigs.k8s.io/network-policy-api/v1alpha2>) is parsed in pkg/k8s/clusternetworkpolicy.go::toSlimLabelSelector. The conversion of metav1.LabelSelectorRequirement → slimmetav1.LabelSelectorRequirement silently drops every Values slice when the operator is In, NotIn, Equals, or NotEquals. The bug was introduced in PR #42338 (merged 2026-02-13) and silently fixed in PR #46253 / commit 241b4b35 (merged 2026-05-29) — but never released in a stable tagged version.

The result: every CNP / CiliumClusterwideNetworkPolicy selector that uses matchExpressions (alone or combined with matchLabels) silently fails to enforce. In {a, b} matches nothing (fail-open for Deny); NotIn {a, b} matches everything (fail-closed for Allow). This is a defense-in-depth bypass with critical security impact on multi-tenant clusters.

CVSS 3.1

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N Score: 9.6 Critical (multi-tenant / namespace-admin case)

Conservative variant (single-tenant / cluster-admin only): 8.7 High (PR:H, C:H, I:H, A:N)

Both well above the 7.0 cutoff.

- AV:N — Network (CNP applied via K8s API; bypass affects network traffic enforcement cluster-wide). - AC:L — Low complexity (apply a CNP / CiliumClusterwideNetworkPolicy with matchExpressions). - PR:L / PR:H — depends on cluster RBAC. Multi-tenant: namespace admins typically can create CNP in their namespace (PR:L). Single-tenant: cluster-admin only (PR:H). - UI:N — No user click required; policy is enforced automatically. - S:C — Scope Changed (bypass affects enforcement of other CNP / CiliumNetworkPolicy that rely on matchExpressions selectors). - C:H — Confidentiality High (Deny rules don't fire → protected data is reachable). - I:H — Integrity High (Allow-but-restrict rules match everything → over-broad write access). - A:N — No direct availability impact (separate bypass needed for the allow path).

Affected versions

The bug is only present in v1.20.0-pre releases (and main branch between 2026-02-13 and 2026-05-29). It is not present in any v1.19.x release.

| Tag | Released | Has clusternetworkpolicy.go? | Bug? | |---|---|---|---| | v1.18.x | 2025-07–2025-11 | No (feature not added yet) | N/A | | v1.19.0 | 2026-02-04 | No (branch cut before PR #42338) | N/A | | v1.19.1 | 2026-02-17 | No (branch did not backport) | N/A | | v1.19.2 | 2026-03-23 | No | N/A | | v1.19.3 | 2026-04-15 | No | N/A | | v1.19.4 | 2026-05-13 | No | N/A | | v1.20.0-pre.1 | 2026-04-01 | Yes (14771 bytes) | BUGGY (verified) | | v1.20.0-pre.2 | ~2026-04 | Yes | BUGGY (verified) | | main (post-fix) | 2026-05-29+ | Yes | FIXED (slices.Clone) | | v1.20.0 stable | not yet released | — | likely ships with fix |

Bottom line on impact scope: this is a pre-release / preview-channel bug. It affects anyone running v1.20.0-pre.1 or v1.20.0-pre.2, plus anyone who built Cilium from main between 2026-02-13 and 2026-05-29 with the enable-k8s-cluster-network-policy feature flag enabled. Stable v1.19.x production users are NOT affected.

Disclosure timeline

- 2026-06-20 17:00 +08:00 — 0-day discovered by xylove21 during a version-diff audit of Cilium v1.18 → v1.20.0-dev. - 2026-06-20 17:27 +08:00 — Independent PoC built and verified (3/3 PASS) using a self-contained Go program that reproduces toSlimLabelSelector behavior. - 2026-06-20 18:00 +08:00 — Private disclosure via GitHub Security Advisory Triage. - 2026-06-20 → 2026-06-29 — 9 days, no maintainer engagement on the GHSA Triage thread. - 2026-06-29 19:56 +08:00 — Filing publicly via oss-security (escalation after 9 days of GHSA Triage silence). - 90-day public disclosure timeline: public release 2026-09-22 (or upon upstream fix in v1.20.0 stable, whichever comes first).

Verification (independent, reproducible)

PoC at poc/main.go is a self-contained Go program with zero external dependencies that replicates the buggy toSlimLabelSelector function and demonstrates the silent Values drop. The PoC exercises:

1. In [a, b] → matches nothing (fail-open for Deny) 2. NotIn [a, b] → matches everything (fail-closed for Allow) 3. Equals [a] → matches nothing 4. NotEquals [a] → matches everything 5. Combined matchLabels + matchExpressions → matchLabels works, matchExpressions silently dropped

3/3 PASS on real v1.20.0-pre.1 source, byte-for-byte the same buggy implementation. The fix is a one-line slices.Clone() change in PR #46253.

Root cause (v1.20.0-pre)

pkg/k8s/clusternetworkpolicy.go::toSlimLabelSelector, lines 32–52 of the v1.20.0-pre source (extracted from commit bc340fe80aaa, parent of the fix):

go // VULNERABLE code in v1.20.0-pre for , matchExp := range ls.MatchExpressions { lsr := slimmetav1.LabelSelectorRequirement{ Key: matchExp.Key, Operator: slimmetav1.LabelSelectorOperator(string(matchExp.Operator)), } if matchExp.Values != nil { lsr.Values = make([]string, 0, len(matchExp.Values)) // length 0! copy(lsr.Values, matchExp.Values) // copies 0 elements } result.MatchExpressions = append(result.MatchExpressions, lsr) }

copy(dst, src) copies min(len(dst), len(src)) elements. With make([]string, 0, len(matchExp.Values)), len(dst) is 0 — so every value is silently dropped.

Fix on main (PR #46253, commit 241b4b35): go // FIXED code on main if matchExp.Values != nil { lsr.Values = slices.Clone(matchExp.Values) // correct deep copy }

Impact

The bug causes every matchExpressions selector with In, NotIn, Equals, or NotEquals to behave opposite to its declared intent:

| Operator declared | Intended behaviour | Actual behaviour on v1.20.0-pre | |---|---|---| | In {a, b} | match pods with label ∈ {a, b} | match NOTHING (fail-open for Deny) | | NotIn {a, b} | match pods with label ∉ {a, b} | match EVERYTHING (fail-closed for Allow) | | Equals {a} | match pods with label == a | match NOTHING | | NotEquals {a} | match pods with label != a | match EVERYTHING |

Attack scenarios (require K8s RBAC to create CNP):

- Defence-in-depth bypass: a tenant with pods/log or services write perms in a multi-tenant cluster can apply a CiliumClusterwideNetworkPolicy (or ClusterNetworkPolicy) that claims to deny egress to pods whose label tier=untrusted, but the matchExpressions is silently dropped → the deny never fires and egress flows unimpeded. - Compliance backdoor: an operator crafts a CNP with NotEquals [admin] selectors that looks restrictive but actually matches every pod (the compliance team reads the YAML, sees NotEquals [admin], and approves). - Self-DoS: a less-privileged admin crafts an allow rule with In [api] selectors — the rule matches nothing — so the deny-all default takes over and traffic they wanted to allow is blocked (fail-closed).

Recommendations

For Cilium maintainers: 1. Issue a security advisory (CVE) covering v1.20.0-pre.1 and v1.20.0-pre.2. 2. Explicitly note in the v1.20.0 stable release notes that the pre-release channel was vulnerable to this bug, and that the fix is in v1.20.0 stable. 3. Add a regression test that asserts matchExpressions round-trips through toSlimLabelSelector with Values preserved. 4. Consider adding a slices.Clone lint rule to the Cilium contribution guide to prevent future copy-without-clone bugs.

For users on v1.20.0-pre: 1. Upgrade to v1.20.0 stable (when released) immediately. 2. Until then, do NOT enable the enable-k8s-cluster-network-policy feature flag in production. 3. Audit any existing CNP / CiliumClusterwideNetworkPolicy with matchExpressions and rewrite them using only matchLabels if possible.

Reporter

- Handle: xylove21 - Affiliation: Independent security researcher (coordinated via 小龙虾 / team 小青蟹, 队长 大龙虾 徐岩) - Email: xuy0515 () gmail com - GitHub: https://github.com/xylove21 - Date filed (private via GHSA Triage): 2026-06-20 18:00 +08:00 - Date filed (public via oss-security): 2026-06-29 19:56 +08:00

Thanks for the review and CVE assignment.

— xylove21

-- You received this message because you are subscribed to the Google Groups "Cilium Security Response Team" group. To unsubscribe from this group and stop receiving emails from it, send an email to cilium-security+unsubscribe () isovalent com. To view this discussion visit https://groups.google.com/a/isovalent.com/d/msgid/cilium-security/178313134021.2087278.12123292660777742961%40proton.me .

First published (updated )
Severity
9.2
AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:L/A:H

Impact

When Cilium L7 functionality is enabled on a cluster, the Envoy instance supporting this functionality creates a world-accessible socket on cluster nodes. A local attacker would be able to access Envoy admin endpoints. Depending on deployment configuration, this can expose sensitive information or allow disruptive administrative operations, such as:

- Exposing TLS secrets - Disrupting traffic in the cluster - Terminating the Envoy process

This issue affects both the embedded and standalone Envoy deployment models.

Patches

This issue affects:

- Cilium v1.19 between v1.19.0 and v1.19.1 inclusive - Cilium v1.18 between v1.18.0 and v1.18.7 inclusive - All versions of Cilium prior to v1.17.14

This issue has been patched in https://github.com/cilium/cilium/pull/44512, included in:

- Cilium v1.19.2 - Cilium v1.18.8 - Cilium v1.17.14

Workarounds

There is no known workaround to this issue.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to moemen for reporting the issue and 0xch4z for their work on triaging and remediating this issue.

For more information

If there are any questions or comments about this advisory, please reach out on [Slack (https://docs.cilium.io/en/latest/community/community/).

If anyone thinks they have found a vulnerability affecting Cilium, it is strongly encouraged to report it to the security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and the report will be treated as a top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
1.9
Integer Overflow
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L/E:P/RL:O/RC:C

A vulnerability has been found in cilium ebpf up to 0.21.0. This affects the function loadRawSpec of the file btf/btf.go of the component LoadCollectionSpec/LoadCollectionSpecFromReader. Such manipulation of the argument offset leads to integer overflow. The attack can only be performed from a local environment. The exploit has been disclosed to the public and may be used. The name of the patch is 533dfc82fd228bfadf42ea7180c39de7d9af47fa. A patch should be applied to remediate this issue.

First published (updated )
Severity
7.9
Infoleak
AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N

Impact The output of cilium-bugtool can contain sensitive data when the tool is run against Cilium deployments with WireGuard encryption enabled.

Users of WireGuard Transparent Encryption are affected. The sensitive data is the WireGuard private key (ciliumwg0.key) used for node-to-node encrypted communication

cilium-bugtool is a debugging tool that is typically invoked manually and does not run during the normal operation of a Cilium cluster. It is also invoked when gathering sysdumps using the Cilium CLI's cilium sysdump command.

Patches This issue affects:

- Cilium v1.19 between v1.19.0 and v1.19.2 inclusive - Cilium v1.18 between v1.18.0 and v1.18.8 inclusive - All versions of Cilium prior to v1.17.15

This issue has been patched in:

- Cilium v1.19.3 - Cilium v1.18.9 - Cilium v1.17.15

Workarounds There is no workaround to this issue.

Users who have previously shared bugtool or sysdump archives from WireGuard-enabled nodes should rotate the WireGuard keys on the affected nodes. This can be done by deleting the key file and restarting the Cilium agent, which will generate a new key pair.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Cillium extends special thanks to @kodareef5 for reporting the issue and @tklauser for their work on triaging and remediating this issue.

For more information

If there are any questions or comments about this advisory, please reach out on Slack.

Cilium strongly encourages the reporting of suspected vulnerabilities to the security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and the report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
5.4
EPSS
0.01%
AV:A/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N

Impact

Ingress Network Policies are not enforced for traffic from pods to L7 Services (Envoy, GAMMA) with a local backend on the same node, when Per-Endpoint Routing is enabled and BPF Host Routing is disabled.

Per-Endpoint Routing is disabled by default, but is automatically enabled in deployments using cloud IPAM, including Cilium ENI on EKS (eni.enabled), AlibabaCloud ENI (alibabacloud.enabled), Azure IPAM (azure.enabled, but not AKS BYOCNI), and some GKE deployments (gke.enabled; managed offerings such as GKE Dataplane V2 may use different defaults). It is typically not enabled in tunneled deployments, and chaining deployments are not affected. In practice, Amazon EKS with Cilium ENI mode is likely the most common affected environment.

Patches

This issue was fixed by #44693.

This issue affects:

Cilium v1.19 between v1.19.0 and v1.19.1 inclusive Cilium v1.18 between v1.18.0 and v1.18.7 inclusive All versions of Cilium prior to v1.17.13

This issue is fixed in:

Cilium v1.19.2 Cilium v1.18.8 Cilium v1.17.14

Workarounds

Disclaimer: There is currently no officially verified or comprehensive workaround for this issue. The only option would be to disable per-endpoint routes, but this will likely cause disruptions to ongoing connections, and potential conflicts if running in cloud providers.

Acknowledgements

The Cilium community has worked together with members of the Northflank and Isovalent teams to prepare these mitigations. Cilium thanks @sudeephb and @Champ-Goblem for reporting the issue and to @smagnani96 and @julianwiedmann for helping with the resolution.

For more information

Anyone who believes a vulnerability affecting Cilium has been found is strongly encouraged to report it to the security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and any such report will be treated as top priority. Please also address any comments or questions on this advisory to the same mailing list.

1 / 2
Source: GitHub
First published (updated )
Severity
6.1
EPSS
0.01%
AV:A/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Impact

Host Policies will incorrectly permit traffic from Pods on other nodes when all of the following configurations are enabled: Native Routing WireGuard Node Encryption (beta)

These options are disabled by default in Cilium.

Patches

This issue was fixed by #42892.

This issue affects:

Cilium v1.18 between v1.18.0 and v1.18.5 inclusive

This issue is fixed in:

Cilium v1.18.6

Workarounds

There is currently no officially verified or comprehensive workaround for this issue. The following procedure has been validated strictly within a local 'Kind' environment and has not undergone exhaustive testing across diverse production architectures. Proceed with caution.

To mitigate the identified traffic bypass, ensure all ingress traffic from the ciliumwg0 interface is explicitly routed to ciliumhost for policy enforcement. This ensures that host-level security policies are applied to decrypted WireGuard traffic. Execute the following configuration on each CiliumNode:

bash IPv4 Traffic ip rule add iif ciliumwg0 table 300 ip route add default dev ciliumhost table 300

IPv6 Traffic ip -6 rule add iif ciliumwg0 table 300 ip -6 route add default dev ciliumnet table 300

Acknowledgements

Special thanks to @julianwiedmann for reporting the issue and helping with the resolution.

For more information

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority. Please also address any comments or questions on this advisory to the same mailing list.

1 / 2
Source: GitHub
First published (updated )
Severity
5.5
AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N

Impact

CiliumNetworkPolicys which use egress.toGroups.aws.securityGroupsIds to reference AWS security group IDs that do not exist or are not attached to any network interface may unintentionally allow broader outbound access than intended by the policy authors. In such cases, the toCIDRset section of the derived policy is not generated, which means outbound traffic may be permitted to more destinations than originally intended.

Patches

This issue has been patched in:

Cilium v1.18.4 Cilium v1.17.10 Cilium v1.16.17

This issue affects:

- Cilium v1.18 between v1.18.0 and v1.18.3 inclusive - Cilium v1.17 between v1.17.0 and v1.17.9 inclusive - Cilium v1.16.16 and below

Workarounds

There is no workaround to this issue.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @SeanEmac for reporting this issue and to @fristonio for the patch.

For more information

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
7.5
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

In the Linux kernel, the following vulnerability has been resolved:

bpf: Fix metadatadst leak bpfredirectneighv{4,6}

Cilium has a BPF egress gateway feature which forces outgoing K8s Pod traffic to pass through dedicated egress gateways which then SNAT the traffic in order to interact with stable IPs outside the cluster.

The traffic is directed to the gateway via vxlan tunnel in collect md mode. A recent BPF change utilized the bpfredirectneigh() helper to forward packets after the arrival and decap on vxlan, which turned out over time that the kmalloc-256 slab usage in kernel was ever-increasing.

The issue was that vxlan allocates the metadatadst object and attaches it through a fake dst entry to the skb. The latter was never released though given bpfredirectneigh() was merely setting the new dst entry via skbdstset() without dropping an existing one first.

1 / 2
Source: MITRE
First published (updated )
Severity
4
EPSS
0.01%
Race Condition
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N

Impact

When using Wireguard transparent encryption in a Cilium cluster, packets that originate from a terminating endpoint can leave the source node without encryption due to a race condition in how traffic is processed by Cilium.

Patches

This issue has been patched in https://github.com/cilium/cilium/pull/38592.

This issue affects:

- Cilium v1.15 between v1.15.0 and v1.15.15 inclusive - Cilium v1.16 between v1.16.0 and v1.16.8 inclusive - Cilium v1.17 between v1.17.0 and v1.17.2 inclusive

This issue is fixed in:

- Cilium v1.15.16 - Cilium v1.16.9 - Cilium v1.17.3

Workarounds

There is no workaround to this issue.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @gandro and @pippolo84 for reporting this issue and to @julianwiedmann for the patch.

For more information

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
4.7
EPSS
0.02%
AV:A/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N

Impact

Node based network policies (fromNodes and toNodes) will incorrectly permit traffic to/from non-node endpoints that share the labels specified in fromNodes and toNodes sections of network policies. Node based network policy is disabled by default in Cilium.

Patches

This issue was fixed by https://github.com/cilium/cilium/pull/36657.

This issue affects:

- Cilium v1.16 between v1.16.0 and v1.16.7 inclusive - Cilium v1.17 between v1.17.0 and v1.17.1 inclusive

This issue is fixed in:

- Cilium v1.16.8 - Cilium v1.17.2

Workarounds

Users can work around this issue by ensuring that the labels used in fromNodes and toNodes fields are used exclusively by nodes and not by other endpoints.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @oblazek for reporting and fixing this issue.

For more information

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority. Please also address any comments or questions on this advisory to the same mailing list.

1 / 2
Source: GitHub
First published (updated )
Severity
4.3
EPSS
0.02%
AV:L/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N

Impact

For Cilium users who: - Use Gateway API for Ingress for some services AND - Use LB-IPAM or BGP for LB Service implementation AND - Use network policies to block egress traffic from workloads in a namespace to workloads in other namespaces

Egress traffic from workloads covered by such network policies to LoadBalancers configured by Gateway resources will incorrectly be allowed.

LoadBalancer resources not deployed via a Gateway API configuration are not affected by this issue.

Patches

This issue was fixed by https://github.com/cilium/proxy/pull/1172.

This issue affects:

- Cilium v1.15 between v1.15.0 and v1.15.14 inclusive - Cilium v1.16 between v1.16.0 and v1.16.7 inclusive - Cilium v1.17 between v1.17.0 and v1.17.1 inclusive

This issue is fixed in:

- Cilium v1.15.15 - Cilium v1.16.8 - Cilium v1.17.2

Workarounds

A Clusterwide Cilium Network Policy can be used to work around this issue for users who are unable to upgrade. An outline of such a policy is provided below:

apiVersion: "cilium.io/v2" kind: CiliumClusterwideNetworkPolicy metadata: name: "workaround" spec: endpointSelector: matchExpressions: - key: reserved:ingress operator: Exists ingress: - fromEntities: - world

- The policy opens up connectivity from all locations outside the cluster into the Cilium Ingress Gateway. - The policy establishes a default deny for all other traffic towards the Cilium Ingress Gateway, including all in-cluster sources. - It is possible to tailor the policy to more narrowly allow inbound traffic while creating a default deny posture for traffic between namespaces. Users should edit the policy to bring it in line with the security requirements particular to their environments.

Acknowledgements

The Cilium community has worked together with members of the Isovalent team to prepare these mitigations. Special thanks to @jrajahalme for the fix.

For more information

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
6.5
EPSS
0.04%
Infoleak
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N

Impact

For users who deploy Hubble UI using either Cilium CLI or via the Cilium Helm chart, an insecure default Access-Control-Allow-Origin header value could lead to sensitive data exposure. A user with access to a Hubble UI instance affected by this issue could leak configuration details about the Kubernetes cluster which Hubble UI is monitoring, including node names, IP addresses, and other metadata about workloads and the cluster networking configuration. In order for this vulnerability to be exploited, a victim would have to first visit a malicious page.

Patches

This issue was patched in https://github.com/cilium/cilium/commit/a3489f190ba6e87b5336ee685fb6c80b1270d06d

This issue affects:

- Cilium between v1.14.0 and v1.14.18 inclusive - Cilium between v1.15.0 and v1.15.12 inclusive - Cilium between v1.16.0 and v1.16.5 inclusive

This issue is patched in:

- Cilium v1.14.19 - Cilium v1.15.13 - Cilium v1.16.6

Workarounds

Users who deploy Hubble UI using the Cilium Helm chart directly can remove the CORS headers from the Helm template as shown in the patch.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @ciffelia for reporting this issue and to @geakstr for the fix.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
5.3
EPSS
0.04%
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L

Impact

In a Kubernetes cluster where Cilium is configured to proxy DNS traffic, an attacker can crash Cilium agents by sending a crafted DNS response to workloads from outside the cluster.

For traffic that is allowed but without using DNS-based policy, the dataplane will continue to pass traffic as configured at the time of the DoS. For workloads that have DNS-based policy configured, existing connections may continue to operate, and new connections made without relying on DNS resolution may continue to be established, but new connections which rely on DNS resolution may be disrupted. Any configuration changes that affect the impacted agent may not be applied until the agent is able to restart.

Patches

This issue affects:

- Cilium v1.14 between v1.14.0 and v1.14.17 inclusive - Cilium v1.15 between v1.15.0 and v1.15.11 inclusive - Cilium v1.16 between v1.16.0 and v1.16.4 inclusive

This issue is fixed in:

- Cilium v1.14.18 - Cilium v1.15.12 - Cilium v1.16.5

Workarounds

There are no known workarounds to this issue.

Acknowledgements

The Cilium community has worked together with members of Isovalent and the Cisco Advanced Security Initiatives Group (ASIG) to prepare these mitigations. Special thanks to @kokelley-cisco for reporting this issue and @bimmlerd for the fix.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
5.8
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N

Impact

For users with the following configuration:

An allow policy that selects a Layer 3 identity and a port range AND A Layer 7 allow policy that selects a specific port within the first policy's range

then Layer 7 enforcement would not occur for the traffic selected by the Layer 7 policy.

This issue only affects users who use Cilium's port range functionality, which was introduced in Cilium v1.16.

For reference, an example of a pair of policies that would trigger this issue is:

apiVersion: "cilium.io/v2" kind: CiliumNetworkPolicy metadata: name: "layer-3-and-4" spec: endpointSelector: matchLabels: app: service ingress: - fromCIDR: - 192.168.60.0/24 toPorts: - ports: - port: "80" endPort: 444 protocol: TCP and apiVersion: "cilium.io/v2" kind: CiliumNetworkPolicy metadata: name: "layer-4-and-7" spec: endpointSelector: matchLabels: app: service ingress: toPorts: - ports: - port: "80" protocol: TCP rules: http: - method: "GET" path: "/public"

In the above example, requests would be permitted to all HTTP paths on matching endpoints, rather than just GET requests to the /public path as intended by the layer-4-and-7 policy. In patched versions of Cilium, the layer-4-and-7 rule would take precedence over the layer-3-and-4 rule.

Patches

This issue is patched in https://github.com/cilium/cilium/pull/35150.

This issue affects Cilium v1.16 between v1.16.0 and v1.16.3 inclusive.

This issue is patched in Cilium v1.16.4.

Workarounds

Users with network policies that match the pattern described above can work around the issue by rewriting any policies that use port ranges to individually specify the ports permitted for traffic.

Acknowledgements The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @jrajahalme for resolving this issue.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
8.7
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N

Impact

A policy rule denying a prefix that is broader than /32 may be ignored if there is

- A policy rule referencing a more narrow prefix (CIDRSet or toFQDN) and - This narrower policy rule specifies either enableDefaultDeny: false or - toEntities: all

Note that a rule specifying toEntities: world or toEntities: 0.0.0.0/0 is insufficient, it must be to entity all.

As an example, given the below policies, traffic is allowed to 1.1.1.2, when it should be denied:

apiVersion: cilium.io/v2 kind: CiliumClusterwideNetworkPolicy metadata: name: block-scary-range spec: endpointSelector: {} egressDeny: - toCIDRSet: - cidr: 1.0.0.0/8

---

apiVersion: cilium.io/v2 kind: CiliumNetworkPolicy metadata: name: evade-deny spec: endpointSelector: {} egress: - toCIDR: - 1.1.1.2/32 - toEntities: - all

Patches

This issue affects:

- Cilium v1.14 between v1.14.0 and v1.14.15 inclusive - Cilium v1.15 between v1.15.0 and v1.15.9 inclusive

This issue has been patched in:

- Cilium v1.14.16 - Cilium v1.15.10

Workarounds

Users with policies using enableDefaultDeny: false can work around this issue by removing this configuration option and explicitly defining any allow rules required.

No workaround is available to users with egress policies that explicitly specify toEntities: all.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @squeed, @christarazi, and @jrajahalme for their work in triaging and resolving this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated with top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
7.2
Infoleak
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:L/A:N

Impact

Due to ReferenceGrant changes not being immediately propagated in Cilium's GatewayAPI controller, Gateway resources are able to access secrets in other namespaces after the associated ReferenceGrant has been revoked. This can lead to Gateways continuing to establish sessions using secrets that they should no longer have access to.

Patches

This issue was resolved in https://github.com/cilium/cilium/pull/34032.

This issue affects:

- Cilium v1.15 between v1.15.0 and v1.15.7 inclusive - Cilium v1.16.0

This issue has been patched in:

- Cilium v1.15.8 - Cilium v1.16.1

Workarounds

Any modification of a related Gateway/HTTPRoute/GRPCRoute/TCPRoute CRD (for example, adding any label to any of these resources) will trigger a reconciliation of ReferenceGrants on an affected cluster.

Acknowledgements

The Cilium community has worked together with members of Cure53 and Isovalent to prepare these mitigations. Special thanks to @sayboras for resolving this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
6.8
Race Condition
AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

Impact

A race condition in the Cilium agent can cause the agent to ignore labels that should be applied to a node. This could in turn cause CiliumClusterwideNetworkPolicies intended for nodes with the ignored label to not apply, leading to policy bypass.

Patches

This issue was fixed in https://github.com/cilium/cilium/pull/33511.

This issue affects:

- All versions of Cilium before v1.14.14 - Cilium v1.15 between v1.15.0 and v1.15.7 inclusive

This issue has been patched in:

- Cilium v1.14.14 - Cilium v1.15.8

Workarounds

As the underlying issue depends on a race condition, users unable to upgrade can restart the Cilium agent on affected nodes until the affected policies are confirmed to be working as expected.

Acknowledgements

The Cilium community has worked together with members of Google and Isovalent to prepare these mitigations. Special thanks to @skmatti for raising and resolving this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
4.3
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N

Impact

Gateway API HTTPRoutes and GRPCRoutes do not follow the match precedence specified in the Gateway API specification. In particular, request headers are matched before request methods, when the specification describes that the request methods must be respected before headers are matched (HTTPRouteRule, GRPCRouteRule).

If users create Gateway API resources that use both request headers and request methods in order to route to different destinations, then traffic may be delivered to the incorrect backend. If the backend does not have Network Policy restricting acceptable traffic to receive, then requests may access information that you did not intend for them to access.

Patches

This issue was fixed in https://github.com/cilium/cilium/pull/34109.

This issue affects: - Cilium v1.15 between v1.15.0 and v1.15.7 inclusive - Cilium v1.16.0

This issue is fixed in: - Cilium v1.15.8 - Cilium v1.16.1

Workarounds

There is no workaround for this issue.

Acknowledgements

The Cilium community has worked together with members of Cure53 and Isovalent to prepare these mitigations. Special thanks to @sayboras for remediating this issue.

Further information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
7.9
Infoleak
CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N

Impact

The output of cilium-bugtool can contain sensitive data when the tool is run (with the --envoy-dump flag set) against Cilium deployments with the Envoy proxy enabled.

Users of the following features are affected:

- TLS inspection - Ingress with TLS termination - Gateway API with TLS termination - Kafka network policies with API key filtering

The sensitive data includes:

- The CA certificate, certificate chain, and private key used by Cilium HTTP Network Policies, and when using Ingress/Gateway API - The API keys used in Kafka-related network policy

cilium-bugtool is a debugging tool that is typically invoked manually and does not run during the normal operation of a Cilium cluster.

Patches

This issue affects:

- Cilium v1.13 between v1.13.0 and v1.13.16 inclusive - Cilium v1.14 between v1.14.0 and v1.14.11 inclusive - Cilium v1.15 between v1.15.0 and v1.15.5 inclusive

This issue has been patched in:

- Cilium v1.15.6 - Cilium v1.14.12 - Cilium v1.13.17

Workarounds

There is no workaround to this issue.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @sayboras for their work on triaging and remediating this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
8
EPSS
0.17%
Weak Encryption
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N

Impact

Users of IPsec transparent encryption in Cilium may be vulnerable to cryptographic attacks that render the transparent encryption ineffective.

In particular, Cilium is vulnerable to the following attacks by a man-in-the-middle attacker:

- Chosen plaintext attacks - Key recovery attacks - Replay attacks

These attacks are possible due to an ESP sequence number collision when multiple nodes are configured with the same key. Fixed versions of Cilium use unique keys for each IPsec tunnel established between nodes, resolving all of the above attacks.

Important: After upgrading, users must perform a key rotation using the instructions here to ensure that they are no longer vulnerable to this issue. Please note that the key rotation instructions have recently been updated, and users must use the new instructions to properly establish secure IPsec tunnels. To validate that the new instructions have been followed properly, ensure that the IPsec Kubernetes secret contains a "+" sign.

Patches

All prior versions of Cilium that support IPsec transparent encryption (Cilium 1.4 onwards) are affected by this issue.

Patched versions:

- Cilium 1.15.3 - Cilium 1.14.9 - Cilium 1.13.14

Workarounds

There is no workaround to this issue. IPsec transparent encryption users are strongly encouraged to upgrade.

Acknowledgements

The Cilium community has worked together with members of Cure53 and Isovalent to prepare these mitigations. Special thanks to @NikAleksandrov and @pchaigno for their work on remediating the issue. Thanks to Marsh Ray, Senior Software Developer at Microsoft, for input and guidance on the fix.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

As usual, if you think you found a related vulnerability, we strongly encourage you to report security vulnerabilities to our private security mailing list: security@cilium.io - first, before disclosing them in any public forums. This is a private mailing list where only members of the Cilium internal security team are subscribed to, and is treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
6.1
EPSS
0.04%
AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

Impact

In Cilium clusters with WireGuard enabled and traffic matching Layer 7 policies:

- Traffic that should be WireGuard-encrypted is sent unencrypted between a node's Envoy proxy and pods on other nodes. - Traffic that should be WireGuard-encrypted is sent unencrypted between a node's DNS proxy and pods on other nodes.

Patches

This issue affects:

In native routing mode (routingMode=native): Cilium v1.14 versions before v1.14.8 Cilium v1.15 versions before v1.15.2 In tunneling mode (routingMode=tunnel): Cilium v1.14 versions before v1.14.4 Cilium v1.14.4 if encryption.wireguard.encapsulate is set to false (default).

This issue has been resolved in:

In native routing mode (routingMode=native): Cilium v1.14.8 Cilium v1.15.2 In tunneling mode (routingMode=tunnel): Cilium v1.14.4. NOTE encryption.wireguard.encapsulate must be set to true. Workarounds

There is no workaround to this issue.

Acknowledgements The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @brb, @giorio94, @gandro and @jschwinger233 for their work on triaging and remediating this issue.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

If you think you found a related vulnerability, we strongly encourage you to report security vulnerabilities to our private security mailing list at security@cilium.io. This is a private mailing list where only members of the Cilium internal security team are subscribed to, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
6.1
EPSS
0.04%
AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

Impact

In Cilium clusters with IPsec enabled and traffic matching Layer 7 policies:

- Traffic that should be IPsec-encrypted between a node's Envoy proxy and pods on other nodes is sent unencrypted - Traffic that should be IPsec-encrypted between a node's DNS proxy and pods on other nodes is sent unencrypted

Note: For clusters running in native routing mode, IPsec encryption is not applied to connections which are selected by a L7 Egress Network Policy or a DNS Policy. This is a known limitation of Cilium's IPsec encryption which will continue to apply after upgrading to the latest Cilium versions described below.

Patches

This issue affects:

- Cilium v1.15 before v1.15.2 - Cilium v1.14 before v1.14.8 - Cilium v1.13 before v1.13.13 - Cilium v1.4 to v1.12 inclusive

This issue has been resolved in:

- Cilium v1.15.2 - Cilium v1.14.8 - Cilium v1.13.13

Workarounds There is no workaround to this issue.

Acknowledgements The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @jschwinger233, @julianwiedmann, @giorio94, and @jrajahalme for their work in triaging and resolving this issue.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability in Cilium, we strongly encourage you to report it to our private security mailing list at security@cilium.io. This is a private mailing list that only members of the Cilium internal security team are subscribed to, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
7.2
EPSS
0.13%
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Impact

Cilium's HTTP policies are not consistently applied to all traffic in the scope of the policies, leading to HTTP traffic being incorrectly and intermittently forwarded when it should be dropped.

Patches

This issue affects:

Cilium v1.13 between v1.13.9 and v1.13.12 inclusive Cilium v1.14 between v1.14.0 and v1.14.7 inclusive Cilium v1.15.0 and v1.15.1

This issue has been patched in:

Cilium v1.15.2 Cilium v1.14.8 Cilium v1.13.13

Workarounds

There is no workaround for this issue – affected users are strongly encouraged to upgrade.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @romikps for discovering and reporting this issue, and @sayboras and @jrajahalme for preparing the fix.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list for the Cilium internal security team, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
6.1
EPSS
0.04%
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

Impact

For Cilium users who have enabled an external kvstore and Wireguard transparent encryption, traffic between pods in the affected cluster is not encrypted.

Patches

This issue affects Cilium v1.14 before v1.14.7.

This issue has been patched in Cilium v1.14.7.

Workarounds

There is no workaround to this issue - affected users are encouraged to upgrade.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @giorio94 and @gandro for their work on triaging and remediating this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you found a related vulnerability, we strongly encourage you to report security vulnerabilities to our private security mailing list at security@cilium.io. This is a private mailing list where only members of the Cilium internal security team are subscribed to, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
6.1
EPSS
0.04%
CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

Impact

For Cilium users who are using CRDs to store Cilium state (the default configuration) and Wireguard transparent encryption, responses from pods to the Ingress and health endpoints are not encrypted. Traffic from the Ingress and health endpoints to pods is not affected by this issue. The health endpoint is only used for Cilium's internal health checks.

Patches

This issue affects Cilium v1.14 before v1.14.7.

This issue has been patched in Cilium v1.14.7.

Workarounds

There is no workaround to this issue - affected users are encouraged to upgrade.

Acknowledgements

The Cilium community has worked together with members of Isovalent to prepare these mitigations. Special thanks to @gandro for their work on triaging and remediating this issue.

For more information

If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability affecting Cilium, we strongly encourage you to report it to our security mailing list at security@cilium.io. This is a private mailing list where only members of the Cilium internal security team are subscribed to, and your report will be treated as top priority.

1 / 2
Source: GitHub
First published (updated )
Severity
3.5
AV:A/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L

Impact

In Cilium clusters where Cilium's Layer 7 proxy has been disabled, creating workloads with

- policy.cilium.io/proxy-visibility annotations (in Cilium >= v1.13) - io.cilium.proxy-visibility annotations (in Cilium <= v1.12)

causes the Cilium agent to segfault on the node to which the workload is assigned.

Existing traffic on the affected node will continue to flow, but the Cilium agent on the node will not able to process changes to workloads running on the node. This will also prevent workloads from being able to start on the affected node. The denial of service will be limited to the node on which the workload is scheduled, however an attacker may be able to schedule workloads on the node of their choosing, which could lead to targeted attacks.

Patches

Pull request with fix

This issue affects:

Cilium <= v1.14.1 Cilium <= v1.13.6 Cilium <= v1.12.13

This issue has been resolved in:

Cilium v1.14.2 Cilium v1.13.7 Cilium v1.12.14

Workarounds

Users can avoid this denial of service attack by enabling the Layer 7 proxy.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

As usual, if you think you found a related vulnerability, we strongly encourage you to report security vulnerabilities to our private security mailing list: security@cilium.io - first, before disclosing them in any public forums. This is a private mailing list where only members of the Cilium internal security team are subscribed to, and is treated as top priority.

1 / 2
First published (updated )
Severity
8.1
AV:A/AC:L/PR:H/UI:N/S:C/C:L/I:N/A:H

Impact

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.

Patches

This issue was patched in https://github.com/cilium/cilium/pull/28007

This issue affects:

- Cilium <= v1.14.1 - Cilium <= v1.13.6 - Cilium <= v1.12.13

This issue has been resolved in:

- Cilium v1.14.2 - Cilium v1.13.7 - Cilium v1.12.14

Workarounds

An admission webhook can be used to prevent the use of endpointSelectors that use the DoesNotExist operator on the reserved:init label in CiliumNetworkPolicies.

Acknowledgements The Cilium community has worked together with members of Palantir and Isovalent to prepare these mitigations. Special thanks to @odinuge for reporting this issue and @joestringer for the fix.

For more information If you have any questions or comments about this advisory, please reach out on Slack.

If you think you have found a vulnerability in Cilium, we strongly encourage you to report it to our private security mailing list at security@cilium.io first, before disclosing it in any public forum. This is a private mailing list for Cilium's internal security team, and your report will be treated as top priority.

1 / 2
First published (updated )

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203