☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.1 🐛 CWE-311
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2024-25631

CVE-2024-25631 Supply Chain Attack in Cilium
📅 PUBLISHED: 2024-02-20 18:08 UTC 🔄 UPDATED: 2026-09-23 20:27 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.20%
👁️
0.20% probability
5.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-25631 is a medium-severity vulnerability in Cilium, an eBPF-based networking, observability, and security solution. The flaw affects Cilium v1.14 before v1.14.7 when both an external key-value store (kvstore) and Wireguard transparent encryption are enabled. In this configuration, traffic between pods in the affected cluster is not encrypted, exposing sensitive inter-pod communications to potential eavesdropping on the network. The vulnerability has been patched in Cilium v1.14.7, and there is no known workaround. The EPSS score is 0.0%, indicating low exploitation likelihood, but the impact on confidentiality is high.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Cilium is a Go-based open-source project. The vulnerability is introduced through a misconfiguration in the interaction between the external kvstore and Wireguard encryption modules. Users should verify the integrity of their Cilium binaries and ensure they are sourced from official releases. The patch is available in the official Cilium GitHub repository and container images.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
  • Base Score: 6.1 (Medium)
  • Attack Vector (AV): Adjacent Network – The attacker must be on the same network segment as the affected cluster.
  • Attack Complexity (AC): Low – No special conditions required.
  • Privileges Required (PR): None – No authentication needed.
  • User Interaction (UI): None – No user action required.
  • Scope (S): Unchanged – The vulnerability does not affect resources beyond the impacted component.
  • Confidentiality (C): High – Unencrypted traffic can be read.
  • Integrity (I): None – No data modification.
  • Availability (A): None – No denial of service.

Threat Level: Medium. The vulnerability requires adjacent network access and specific configuration, but if exploited, it can lead to full exposure of inter-pod traffic.

Deep Dive & Mechanics

Cilium uses an external key-value store (e.g., etcd) to manage cluster state and identity information. When Wireguard transparent encryption is enabled, Cilium should encrypt all pod-to-pod traffic. However, due to a logic error in the encryption decision path, traffic between pods is not encrypted when an external kvstore is used. The encryption bypass occurs because the code incorrectly checks the kvstore type, causing it to skip Wireguard encryption for traffic that should be protected.

The vulnerability is rooted in the pkg/wireguard/agent.go file, where the encryption decision logic fails to account for the external kvstore scenario. This results in plaintext traffic being sent over the network, allowing an attacker on the same network segment to capture sensitive data.

Vulnerable vs. Patched Code

Vulnerable Code (Cilium < 1.14.7):

// pkg/wireguard/agent.go (simplified)
func (a *Agent) shouldEncrypt(ip net.IP) bool {
    if a.kvstoreType == "etcd" {
        return false // Incorrectly skips encryption for external kvstore
    }
    // ... encryption logic
}

Patched Code (Cilium >= 1.14.7):

// pkg/wireguard/agent.go (simplified)
func (a *Agent) shouldEncrypt(ip net.IP) bool {
    if a.kvstoreType == "etcd" && a.isExternalKvstore {
        return true // Correctly encrypts traffic even with external kvstore
    }
    // ... encryption logic
}

The patch adds a check for isExternalKvstore to ensure encryption is applied regardless of the kvstore type.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to the same network segment as the Cilium cluster.
  • Cilium v1.14.x (before 1.14.7) with external kvstore and Wireguard encryption enabled.

Exploitation Steps:

  1. Identify the target cluster and ensure it meets the vulnerable configuration.
  2. Use a packet capture tool (e.g., tcpdump) on the network to capture inter-pod traffic.
  3. Analyze captured traffic for plaintext data (e.g., HTTP requests, database queries).

Example Command:

tcpdump -i eth0 -w capture.pcap

Note: No public exploit code is available for this vulnerability.

Blue Team

Detection:

  • Monitor network traffic for unencrypted pod-to-pod communication.
  • Check Cilium configuration for external kvstore and Wireguard settings.

Hunting:

  • Use the following command to verify encryption status:
cilium status | grep -i wireguard
  • Look for logs indicating encryption bypass:
kubectl logs -n kube-system -l k8s-app=cilium | grep -i "wireguard.*skip"

Indicators of Compromise (IOCs)

  • Network Traffic: Unencrypted pod-to-pod traffic on the cluster network.
  • Logs: Cilium agent logs containing "wireguard: skipping encryption for external kvstore" or similar messages.
  • Configuration: Cilium ConfigMap with kvstore set to etcd and wireguard.enabled set to true.

Detection Engineering

YARA Rule

rule CVE_2024_25631_Cilium_Wireguard_Bypass {
    meta:
        description = "Detects Cilium binary with vulnerable Wireguard encryption logic"
        author = "Valters IT"
        date = "2024-10-27"
        reference = "CVE-2024-25631"
    strings:
        $vuln_code = "kvstoreType == \"etcd\"" ascii wide
        $skip_encrypt = "return false" ascii wide
    condition:
        all of them
}

Sigma Rule

title: Cilium Wireguard Encryption Bypass Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects Cilium agent logs indicating Wireguard encryption bypass for external kvstore
author: Valters IT
date: 2024-10-27
logsource:
    product: linux
    service: cilium
detection:
    selection:
        EventID: 1000
        Message|contains: "wireguard: skipping encryption for external kvstore"
    condition: selection
falsepositives:
    - None expected
level: high

Suricata Rule

alert tcp $HOME_NET any -> $HOME_NET any (msg:"CVE-2024-25631 Cilium Unencrypted Pod Traffic"; flow:to_server; content:"|00 00 00 00|"; depth:4; sid:1000001; rev:1;)

Note: The Suricata rule is a placeholder; actual detection requires deep packet inspection for unencrypted application-layer data.

Remediation & Mitigation

Immediate Action:

  • Upgrade Cilium to v1.14.7 or later.
  • If upgrade is not possible, disable Wireguard encryption and use alternative encryption methods (e.g., IPsec).

Long-Term Fix:

  • Apply the patch from the official Cilium repository.
  • Verify encryption status after upgrade using cilium status.

Workaround:

  • None available. The only solution is to upgrade.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-25631/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.