CVE-2025-64433

6.5 MEDIUM

📋 TL;DR

This vulnerability in KubeVirt allows a malicious user with control over a PersistentVolumeClaim (PVC) to read arbitrary files from the virt-launcher pod's file system. Attackers can exploit improper symlink handling and ownership changes to bypass security restrictions and access sensitive data. This affects KubeVirt deployments where users have write access to PVCs.

💻 Affected Systems

Products:
  • KubeVirt
Versions: All versions prior to 1.5.3 and 1.6.1
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Requires user with write access to PVCs; affects all default KubeVirt installations with vulnerable versions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker could read sensitive files from the virt-launcher pod, potentially obtaining secrets, configuration files, or other confidential data that could lead to further compromise of the Kubernetes cluster.

🟠

Likely Case

Malicious users with PVC write access can read arbitrary files from the virt-launcher pod, potentially accessing sensitive information but limited to files accessible by UID 107.

🟢

If Mitigated

With proper network segmentation and strict RBAC controls limiting PVC access, the attack surface is significantly reduced, though the vulnerability remains present in unpatched systems.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires write access to PVCs and knowledge of target file paths; no public exploit code has been identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.5.3 or 1.6.1

Vendor Advisory: https://github.com/kubevirt/kubevirt/security/advisories/GHSA-qw6q-3pgr-5cwq

Restart Required: Yes

Instructions:

1. Identify your current KubeVirt version. 2. If using version <1.5.3, upgrade to 1.5.3. 3. If using version 1.6.0, upgrade to 1.6.1. 4. Apply the upgrade using your Kubernetes deployment method. 5. Restart affected pods to ensure the fix is applied.

🔧 Temporary Workarounds

Restrict PVC Write Access

all

Implement strict RBAC controls to limit which users can write to PVCs, reducing the attack surface.

Network Segmentation

all

Isolate KubeVirt workloads from sensitive systems to limit potential data exposure if exploited.

🧯 If You Can't Patch

  • Implement strict RBAC controls to limit PVC write access to trusted users only.
  • Monitor for unusual file access patterns or symlink creation in PVCs and virt-launcher pods.

🔍 How to Verify

Check if Vulnerable:

Check KubeVirt version; if version is less than 1.5.3 or exactly 1.6.0, the system is vulnerable.

Check Version:

kubectl get kubevirt.kubevirt.io/kubevirt -n kubevirt -o jsonpath='{.status.observedKubeVirtVersion}'

Verify Fix Applied:

Verify KubeVirt version is 1.5.3 or higher (excluding 1.6.0) or 1.6.1 or higher.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file access patterns from VMs
  • Symlink creation in PVCs
  • Failed mount attempts with unusual file paths

Network Indicators:

  • Unusual data egress from VMs to external systems

SIEM Query:

Search for events where virt-launcher pods access files outside expected PVC paths or where symlinks are created in PVC storage.

🔗 References

📤 Share & Export