CVE-2025-0750

6.6 MEDIUM

📋 TL;DR

A path traversal vulnerability in CRI-O's log management functions (UnMountPodLogs and LinkContainerLogs) allows attackers with Pod creation/deletion permissions to unmount arbitrary host paths. This can lead to node-level denial of service by unmounting critical system directories. Affects Kubernetes/OpenShift clusters using vulnerable CRI-O versions.

💻 Affected Systems

Products:
  • CRI-O
  • OpenShift Container Platform
  • Kubernetes clusters using CRI-O
Versions: CRI-O versions before 1.31.0, 1.30.0-rc.2, 1.29.0-rc.2, 1.28.0-rc.2
Operating Systems: Linux distributions running CRI-O
Default Config Vulnerable: ⚠️ Yes
Notes: Requires attacker to have permissions to create and delete Pods. OpenShift 4.16 and earlier versions are affected.

⚠️ 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

Complete node unavailability by unmounting critical filesystems like /, /var, or /etc, causing system crashes and data corruption.

🟠

Likely Case

Targeted unmounting of application directories causing service disruption, potential data loss, and container runtime failures.

🟢

If Mitigated

Limited impact if RBAC restricts Pod creation/deletion to trusted users and network policies limit attack surface.

🌐 Internet-Facing: LOW - Requires authenticated access to Kubernetes API with Pod management permissions.
🏢 Internal Only: HIGH - Internal attackers or compromised accounts with Pod permissions can exploit this to disrupt cluster nodes.

🎯 Exploit Status

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

Requires authenticated access to Kubernetes API with Pod management permissions. Exploitation involves crafting malicious Pod configurations to trigger path traversal.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: CRI-O 1.31.0, 1.30.0-rc.2, 1.29.0-rc.2, 1.28.0-rc.2 or later

Vendor Advisory: https://access.redhat.com/errata/RHSA-2025:1122

Restart Required: Yes

Instructions:

1. Update CRI-O to patched version using your package manager. 2. For OpenShift: Update to version containing fix via OpenShift Update Service. 3. Restart CRI-O service: systemctl restart crio. 4. Restart affected containers/nodes.

🔧 Temporary Workarounds

Restrict Pod Management Permissions

linux

Limit create/delete Pod permissions to trusted users via Kubernetes RBAC.

kubectl create role pod-manager --verb=create,delete --resource=pods
kubectl create rolebinding pod-manager-binding --role=pod-manager --user=trusted-user

Monitor Unmount Operations

linux

Set up auditing for mount/unmount system calls on nodes.

auditctl -a always,exit -F arch=b64 -S umount2 -k crio-unmount

🧯 If You Can't Patch

  • Implement strict RBAC to limit Pod creation/deletion to essential personnel only.
  • Deploy network policies to restrict access to Kubernetes API server from untrusted networks.

🔍 How to Verify

Check if Vulnerable:

Check CRI-O version: crio --version. If version is before 1.31.0, 1.30.0-rc.2, 1.29.0-rc.2, or 1.28.0-rc.2, system is vulnerable.

Check Version:

crio --version

Verify Fix Applied:

Verify CRI-O version is patched: crio --version | grep -E '1\.(31\.0|30\.0-rc\.2|29\.0-rc\.2|28\.0-rc\.2)'. Test by attempting to create a Pod with path traversal payload (in safe environment).

📡 Detection & Monitoring

Log Indicators:

  • Unexpected unmount operations in system logs
  • CRI-O logs showing path traversal attempts
  • Kubernetes audit logs showing Pod creation with suspicious volume paths

Network Indicators:

  • Unusual API calls to create/delete Pods from unexpected sources

SIEM Query:

source="kube-audit" AND (verb="create" OR verb="delete") AND objectRef.resource="pods" AND user.username NOT IN ("system:serviceaccount:kube-system:*", "trusted-users")

🔗 References

📤 Share & Export