CVE-2024-10220

8.1 HIGH

📋 TL;DR

This vulnerability in Kubernetes kubelet allows attackers to execute arbitrary commands on nodes by exploiting specially crafted gitRepo volumes. It affects all Kubernetes deployments using vulnerable kubelet versions. Attackers with permission to create pods can escalate privileges to gain control over worker nodes.

💻 Affected Systems

Products:
  • Kubernetes kubelet
Versions: through 1.28.11, from 1.29.0 through 1.29.6, from 1.30.0 through 1.30.2
Operating Systems: All platforms running Kubernetes
Default Config Vulnerable: ⚠️ Yes
Notes: Requires ability to create pods with gitRepo volumes. Affects all default installations with vulnerable versions.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full compromise of worker nodes leading to cluster-wide control, data exfiltration, and lateral movement to other systems.

🟠

Likely Case

Privilege escalation from pod-level access to node-level control, allowing attackers to steal secrets, deploy malicious containers, or disrupt workloads.

🟢

If Mitigated

Limited impact if pod security policies restrict gitRepo volume usage and network segmentation prevents lateral movement.

🌐 Internet-Facing: MEDIUM - Requires pod creation access, which is typically not internet-facing but could be exposed through misconfigurations.
🏢 Internal Only: HIGH - Internal attackers or compromised pods can exploit this to gain node-level access across the cluster.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires pod creation permissions. Proof-of-concept details are publicly available in security advisories.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.28.12, 1.29.7, 1.30.3

Vendor Advisory: https://groups.google.com/g/kubernetes-security-announce/c/ptNgV5Necko

Restart Required: Yes

Instructions:

1. Update Kubernetes control plane and nodes to patched versions. 2. Drain and restart nodes to apply kubelet updates. 3. Verify all nodes are running patched kubelet versions.

🔧 Temporary Workarounds

Disable gitRepo volumes

all

Prevent creation of pods using gitRepo volumes via admission controllers or pod security policies.

kubectl create -f gitrepo-blocker.yaml

Restrict pod creation permissions

all

Implement RBAC to limit who can create pods with volumes.

kubectl apply -f restrictive-rbac.yaml

🧯 If You Can't Patch

  • Implement network policies to isolate nodes and restrict lateral movement
  • Enable pod security admission to block gitRepo volume usage

🔍 How to Verify

Check if Vulnerable:

Check kubelet version on each node: kubectl get nodes -o wide and verify version is in affected range.

Check Version:

kubectl version --short | grep Server && kubectl get nodes -o wide | awk '{print $1, $5}'

Verify Fix Applied:

Confirm kubelet version is 1.28.12+, 1.29.7+, or 1.30.3+ on all nodes.

📡 Detection & Monitoring

Log Indicators:

  • Unusual gitRepo volume mounts in kubelet logs
  • Suspicious pod creation events with volume specifications

Network Indicators:

  • Unexpected outbound connections from nodes to git repositories
  • Unusual process execution patterns on nodes

SIEM Query:

source="kubelet" AND "gitRepo" AND volumeMount

🔗 References

📤 Share & Export