CVE-2024-28860

8.0 HIGH

📋 TL;DR

CVE-2024-28860 is a cryptographic vulnerability in Cilium's IPsec transparent encryption that allows man-in-the-middle attackers to perform chosen plaintext, key recovery, and replay attacks when multiple nodes share the same encryption key. This renders IPsec encryption ineffective, potentially exposing sensitive network traffic. Users of Cilium with IPsec encryption enabled are affected.

💻 Affected Systems

Products:
  • Cilium
Versions: All versions before 1.13.13, 1.14.9, and 1.15.3
Operating Systems: Linux
Default Config Vulnerable: ✅ No
Notes: Only affects configurations where IPsec transparent encryption is enabled and multiple nodes share the same encryption key.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of encrypted network traffic between Cilium nodes, allowing attackers to decrypt, modify, or inject packets, potentially leading to data theft, lateral movement, or service disruption.

🟠

Likely Case

Partial decryption of network traffic, enabling attackers to intercept sensitive data or perform replay attacks to disrupt services.

🟢

If Mitigated

Limited impact if network segmentation and monitoring are in place, but encryption assurance is lost.

🌐 Internet-Facing: MEDIUM - Attackers could exploit if they can position themselves between internet-facing nodes, but requires specific IPsec configuration.
🏢 Internal Only: HIGH - Internal attackers or compromised nodes can exploit this to intercept sensitive internal traffic between Cilium nodes.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires man-in-the-middle position between Cilium nodes and knowledge of IPsec configuration. No public exploits available as of analysis.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.13.13, 1.14.9, or 1.15.3

Vendor Advisory: https://github.com/cilium/cilium/security/advisories/GHSA-pwqm-x5x6-5586

Restart Required: Yes

Instructions:

1. Identify Cilium version with 'cilium version' command. 2. Upgrade to fixed version using your deployment method (Helm, kubectl, etc.). 3. Restart Cilium pods to apply changes. 4. Verify IPsec tunnels are using unique keys.

🔧 Temporary Workarounds

Disable IPsec Encryption

linux

Temporarily disable IPsec transparent encryption until patching is possible.

kubectl edit cm cilium-config -n kube-system
Set 'encryption.enabled' to 'false'

Network Segmentation

all

Isolate Cilium nodes to limit potential attack surface.

Implement network policies or firewall rules to restrict traffic between Cilium nodes

🧯 If You Can't Patch

  • Implement strict network monitoring for unusual IPsec traffic patterns
  • Use additional encryption layers (TLS/SSL) for sensitive application traffic

🔍 How to Verify

Check if Vulnerable:

Check Cilium version with 'cilium version' and verify if IPsec encryption is enabled in configuration.

Check Version:

cilium version | grep -i cilium

Verify Fix Applied:

After upgrade, verify version is 1.13.13+, 1.14.9+, or 1.15.3+ and check that IPsec tunnels show unique keys in logs.

📡 Detection & Monitoring

Log Indicators:

  • ESP sequence number collisions in Cilium logs
  • IPsec tunnel establishment failures
  • Unusual encryption/decryption errors

Network Indicators:

  • Repeated IPsec packets with same sequence numbers
  • Unexpected traffic patterns between Cilium nodes

SIEM Query:

source="cilium" AND ("IPsec" OR "ESP") AND ("collision" OR "sequence" OR "key")

🔗 References

📤 Share & Export