CVE-2023-3676

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated users who can create pods on Windows nodes in Kubernetes clusters to escalate privileges to administrator level on those nodes. Only Kubernetes clusters containing Windows nodes are affected. Attackers could gain full control over Windows worker nodes.

💻 Affected Systems

Products:
  • Kubernetes
Versions: All versions prior to 1.28.2, 1.27.6, 1.26.9, 1.25.14
Operating Systems: Windows
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects clusters with Windows nodes. Linux-only clusters are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of Windows nodes, allowing attackers to execute arbitrary code, access sensitive data, pivot to other systems, and potentially compromise the entire cluster.

🟠

Likely Case

Privilege escalation on Windows nodes leading to data exfiltration, lateral movement within the cluster, and disruption of workloads running on affected nodes.

🟢

If Mitigated

Limited impact if proper pod security policies, RBAC restrictions, and network segmentation prevent unauthorized pod creation on Windows nodes.

🌐 Internet-Facing: MEDIUM - Requires authenticated access to create pods, but internet-facing clusters with exposed APIs could be targeted.
🏢 Internal Only: HIGH - Insider threats or compromised internal accounts could exploit this to gain admin privileges on Windows nodes.

🎯 Exploit Status

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

Exploitation requires authenticated access with pod creation permissions on Windows nodes. Proof of concept details are publicly available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.28.2, 1.27.6, 1.26.9, 1.25.14

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

Restart Required: Yes

Instructions:

1. Upgrade Kubernetes control plane and Windows nodes to patched versions. 2. For managed services (EKS, AKS, GKE), follow provider-specific upgrade procedures. 3. Restart affected components after upgrade.

🔧 Temporary Workarounds

Restrict Pod Creation on Windows Nodes

all

Use Kubernetes RBAC and admission controllers to restrict which users/service accounts can create pods on Windows nodes.

kubectl create clusterrolebinding restrict-windows-pods --clusterrole=edit --user=trusted-user --namespace=windows-namespace

Implement Pod Security Standards

all

Enforce Pod Security Admission or Pod Security Policies to restrict privileged pod creation.

kubectl label namespace windows-namespace pod-security.kubernetes.io/enforce=restricted

🧯 If You Can't Patch

  • Implement strict RBAC controls to limit pod creation permissions on Windows nodes to only trusted users/service accounts.
  • Isolate Windows nodes in separate namespaces with network policies and apply pod security standards to restrict privileged operations.

🔍 How to Verify

Check if Vulnerable:

Check if cluster has Windows nodes and Kubernetes version is below patched versions: kubectl get nodes -o wide | grep Windows

Check Version:

kubectl version --short

Verify Fix Applied:

Verify Kubernetes version is 1.28.2, 1.27.6, 1.26.9, or 1.25.14 or higher: kubectl version --short

📡 Detection & Monitoring

Log Indicators:

  • Unusual pod creation events on Windows nodes
  • Privilege escalation attempts in Windows event logs
  • Suspicious container execution patterns

Network Indicators:

  • Unexpected outbound connections from Windows nodes
  • Lateral movement attempts from Windows nodes

SIEM Query:

source="kubernetes-audit" AND verb="create" AND resource="pods" AND node_labels.os="windows" | stats count by user, namespace

🔗 References

📤 Share & Export