CVE-2025-23028 Overview
CVE-2025-23028 is a denial of service vulnerability in Cilium, an eBPF-based networking, observability, and security solution for Kubernetes. The flaw affects clusters where Cilium is configured to proxy DNS traffic. An attacker outside the cluster can send a crafted DNS response to a workload and crash the Cilium agent handling that traffic. The vulnerability is tracked under [CWE-770: Allocation of Resources Without Limits or Throttling].
Critical Impact
Crashed agents cannot apply configuration changes until restarted, and new connections dependent on DNS resolution may be disrupted for workloads governed by DNS-based network policy.
Affected Products
- Cilium versions 1.14.0 through 1.14.17
- Cilium versions 1.15.0 through 1.15.11
- Cilium versions 1.16.0 through 1.16.4
Discovery Timeline
- 2025-01-22 - CVE-2025-23028 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-23028
Vulnerability Analysis
Cilium provides an in-cluster DNS proxy that inspects DNS traffic to enforce DNS-based network policies. The proxy parses DNS responses returned to workloads inside the cluster. When Cilium is configured to proxy DNS traffic, the agent process itself handles response parsing before forwarding results back to pods.
A crafted DNS response sent to a workload triggers a crash in the Cilium agent responsible for that node. The crash is remotely reachable because the malformed response only needs to traverse the normal DNS resolution path from outside the cluster back to an internal workload.
Once the agent crashes, the dataplane continues to forward previously allowed traffic. However, workloads with DNS-based policies lose the ability to establish new connections that depend on fresh DNS resolution. Configuration changes queued for the affected node are not applied until the agent restarts.
Root Cause
The root cause is unbounded or insufficiently validated resource handling in the Cilium DNS proxy when processing untrusted DNS response payloads. The DNS proxy accepts responses that trigger conditions leading to agent termination. Cilium maintainers addressed the flaw in pull request cilium/cilium#36252 and documented it in GHSA-9m5p-c77c-f9j7.
Attack Vector
Exploitation requires no authentication and no user interaction. The attacker sends a malicious DNS response from outside the cluster that reaches a workload configured to use the Cilium DNS proxy. Any pod performing DNS resolution against an attacker-controlled or attacker-influenced resolver path is a viable delivery channel. The vulnerability manifests during response parsing inside the agent process. Refer to the Cilium Security Advisory for further technical details.
Detection Methods for CVE-2025-23028
Indicators of Compromise
- Unexpected crash loops or restarts of cilium-agent pods in the kube-system namespace.
- Kubernetes events showing CrashLoopBackOff or non-zero exit codes for Cilium DaemonSet pods.
- Workloads with DNS-based CiliumNetworkPolicy reporting failed name resolution or connection timeouts to previously reachable services.
- Cilium agent logs terminating abruptly during DNS response processing.
Detection Strategies
- Monitor Cilium agent process liveness and restart counts across all cluster nodes to detect abnormal termination patterns.
- Correlate agent restarts with inbound DNS response traffic to identify potential exploitation attempts.
- Alert on gaps in Cilium policy enforcement or delayed application of CiliumNetworkPolicy changes on specific nodes.
Monitoring Recommendations
- Ingest cilium-agent logs and Kubernetes pod lifecycle events into a centralized logging platform for correlation.
- Track DNS query and response volumes per node to spot anomalous external DNS traffic reaching workloads.
- Configure alerts on Cilium Hubble observability metrics for DNS parsing errors and dropped policy verdicts.
How to Mitigate CVE-2025-23028
Immediate Actions Required
- Upgrade Cilium to a fixed release: v1.14.18, v1.15.12, or v1.16.5.
- Inventory all Kubernetes clusters running affected Cilium versions with DNS proxy enabled via CiliumNetworkPolicy DNS rules.
- Restrict egress DNS resolution to trusted internal resolvers where feasible to reduce exposure to attacker-controlled responses.
- Validate cluster restore procedures so crashed agents can be recovered without prolonged policy enforcement gaps.
Patch Information
Cilium maintainers released fixed versions v1.14.18, v1.15.12, and v1.16.5. The upstream fix is merged in pull request cilium/cilium#36252. Cluster operators should upgrade the Cilium DaemonSet using their preferred deployment method (Helm, Cilium CLI, or GitOps pipeline) and verify agent version rollout across every node.
Workarounds
- No known workarounds are available according to the vendor advisory.
- Operators unable to patch immediately should reduce reliance on DNS-based network policies and monitor agent health closely.
# Upgrade Cilium via Helm to a patched version
helm repo update
helm upgrade cilium cilium/cilium \
--version 1.16.5 \
--namespace kube-system \
--reuse-values
# Verify all agents are running the fixed version
kubectl -n kube-system get pods -l k8s-app=cilium \
-o jsonpath='{.items[*].spec.containers[*].image}'
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

