CVE-2020-29479

8.8 HIGH

📋 TL;DR

CVE-2020-29479 is a privilege escalation vulnerability in Xen's Ocaml xenstored implementation where unprivileged guests can perform unauthorized operations on the root xenstore node. This allows guests to modify permissions, delete the entire xenstore tree (causing host-wide denial of service), and gain write access to xenstore. All systems using oxenstored (default when Ocaml compiler is available) are vulnerable.

💻 Affected Systems

Products:
  • Xen Hypervisor
Versions: Through 4.14.x
Operating Systems: Linux distributions with Xen (Fedora, Debian, Gentoo, etc.)
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems using oxenstored (Ocaml xenstored implementation). Systems using C xenstored are not vulnerable. oxenstored is default when Ocaml compiler is available.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete host-wide denial of service through deletion of the entire xenstore tree, plus potential privilege escalation allowing guest VMs to manipulate other VMs' configurations and data.

🟠

Likely Case

Guest VMs gaining unauthorized xenstore write access, potentially leading to data manipulation, configuration changes, and limited denial of service.

🟢

If Mitigated

Minimal impact if using C xenstored instead of oxenstored, or if proper network segmentation and access controls prevent guest-to-guest attacks.

🌐 Internet-Facing: MEDIUM - Requires guest VM access, but if internet-facing VMs are compromised, they could affect other VMs on the same host.
🏢 Internal Only: HIGH - In virtualized environments, compromised internal guest VMs can affect the entire host and other VMs.

🎯 Exploit Status

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

Exploitation requires guest VM access but appears straightforward based on advisory description. No public exploit code found in references.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Xen 4.14.1 and later

Vendor Advisory: https://xenbits.xenproject.org/xsa/advisory-353.html

Restart Required: Yes

Instructions:

1. Update Xen to version 4.14.1 or later. 2. Update through distribution channels: For Fedora: 'sudo dnf update xen'. For Debian: 'sudo apt update && sudo apt upgrade xen'. 3. Restart Xen services and affected VMs.

🔧 Temporary Workarounds

Switch to C xenstored

linux

Replace oxenstored with C xenstored implementation which is not vulnerable

Configure Xen to use C xenstored instead of oxenstored (check Xen documentation for specific configuration)

🧯 If You Can't Patch

  • Isolate vulnerable Xen hosts from critical systems and implement strict network segmentation
  • Monitor for unusual xenstore activity and implement enhanced logging for xenstored operations

🔍 How to Verify

Check if Vulnerable:

Check if using oxenstored: 'ps aux | grep xenstored' should show oxenstored process. Check Xen version: 'xl info' or 'xm info' should show version 4.14.x or earlier.

Check Version:

xl info | grep xen_version || xm info | grep xen_major

Verify Fix Applied:

Verify Xen version is 4.14.1 or later: 'xl info | grep xen_version'. Confirm oxenstored process is running patched version.

📡 Detection & Monitoring

Log Indicators:

  • Unusual xenstore operations from guest VMs
  • Permission modification attempts on root node
  • xenstored crash or restart logs

Network Indicators:

  • Abnormal xenstore communication patterns between VMs

SIEM Query:

Process: xenstored AND (EventID: crash OR "permission denied" OR "root node")

🔗 References

📤 Share & Export