Cloudanix VulnDB

CVE-2014-0179

None

CVSS

—

EPSS

0.6%

Published

Aug 3, 2014

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in virtualization software lets someone with local access freeze parts of the system by feeding it specially formatted data, making management tasks unresponsive until fixed.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
Moderate
Impact
Denial Of Service
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw permits local attackers to submit crafted XML containing external entity declarations to the virConnectCompareCPU and virConnectBaselineCPU API methods, triggering an XXE condition that causes the libvirt daemon to block on external resource reads and hang.

Why it matters to the business

Successful exploitation produces denial-of-service against virtualization management operations, potentially interrupting VM provisioning, migration, and host inventory tasks on affected systems until the process is restarted.

How an attack unfolds

A local user on a system running an affected libvirt version crafts an XML document that declares an external entity and references it within a call to virConnectCompareCPU or virConnectBaselineCPU; when the API processes the document it attempts to resolve the entity, blocking the daemon thread and causing a hang.

How to fix it

Upgrade libvirt to version 1.2.5 or later on all affected Red Hat Enterprise Linux, Red Hat Enterprise Virtualization, and openSUSE systems; disable or restrict local access to the CompareCPU and BaselineCPU APIs until patches are applied if immediate upgrade is not feasible.

How to confirm the fix worked

Confirm installed libvirt version is 1.2.5 or newer; test the fixed APIs with a benign XXE payload to verify that external entity expansion is rejected and no hang occurs; review package changelogs for the XXE mitigation commit.

Typical attack path

  1. Obtain local shell access on a host running vulnerable libvirt
  2. Construct malicious XML containing an external entity declaration
  3. Invoke virConnectCompareCPU or virConnectBaselineCPU with the crafted XML via libvirt client or direct API call
  4. Observe daemon thread blocking on external entity resolution, resulting in service hang

How to detect it

Review libvirt daemon logs for repeated or long-running CompareCPU/BaselineCPU calls containing XML entity references; correlate with system process hangs or high-wait states in the libvirtd process; examine audit logs for local users invoking libvirt client binaries around the time of service degradation.

What your security team should do

  • Prioritize upgrade of all libvirt packages to 1.2.5+ across the environment due to the public disclosure age and potential for local privilege escalation chains
  • Restrict local user access to libvirt APIs via policy or SELinux/AppArmor profiles until patches are deployed
  • Monitor for unusual libvirt daemon CPU or thread activity that could indicate attempted exploitation

The record

libvirt 0.7.5 through 1.2.x before 1.2.5 allows local users to cause a denial of service (read block and hang) via a crafted XML document containing an XML external entity declaration in conjunction with an entity reference to the (1) virConnectCompareCPU or (2) virConnectBaselineCPU API method, related to an XML External Entity (XXE) issue. NOTE: this issue was SPLIT per ADT3 due to different affected versions of some vectors. CVE-2014-5177 is used for other API methods.

Affected packages

Ecosystem Package Introduced Fixed
Debian:10 libvirt 0 1.2.4-1
Debian:11 libvirt 0 1.2.4-1
Debian:12 libvirt 0 1.2.4-1
Debian:13 libvirt 0 1.2.4-1
Debian:7 libvirt 0 0.9.12.3-1+deb7u1
Mageia:3 libvirt 0 1.0.2-8.5.mga3
Mageia:4 libvirt 0 1.2.1-1.1.mga4
Red Hat:enterprise_linux:6::client libvirt 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::client libvirt-client 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::client libvirt-debuginfo 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::client libvirt-devel 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::client libvirt-lock-sanlock 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::client libvirt-python 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::computenode libvirt 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::computenode libvirt-client 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::computenode libvirt-debuginfo 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::computenode libvirt-devel 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::computenode libvirt-lock-sanlock 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::computenode libvirt-python 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::server libvirt 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::server libvirt-client 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::server libvirt-debuginfo 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::server libvirt-devel 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::server libvirt-lock-sanlock 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::server libvirt-python 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::workstation libvirt 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::workstation libvirt-client 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::workstation libvirt-debuginfo 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::workstation libvirt-devel 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::workstation libvirt-lock-sanlock 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:6::workstation libvirt-python 0 0:0.10.2-29.el6_5.8
Red Hat:enterprise_linux:7::client libvirt 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-client 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-config-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-config-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-interface 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-nodedev 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-qemu 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-secret 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-driver-storage 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-kvm 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-daemon-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-debuginfo 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-devel 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-docs 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-lock-sanlock 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-login-shell 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::client libvirt-python 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-client 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-config-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-config-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-interface 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-nodedev 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-qemu 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-secret 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-driver-storage 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-kvm 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-daemon-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-debuginfo 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-devel 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-docs 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-lock-sanlock 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-login-shell 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::computenode libvirt-python 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-client 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-config-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-config-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-interface 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-nodedev 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-qemu 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-secret 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-driver-storage 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-kvm 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-daemon-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-debuginfo 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-devel 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-docs 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-lock-sanlock 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-login-shell 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::server libvirt-python 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-client 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-config-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-config-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-interface 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-network 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-nodedev 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-nwfilter 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-qemu 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-secret 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-driver-storage 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-kvm 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-daemon-lxc 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-debuginfo 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-devel 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-docs 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-lock-sanlock 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-login-shell 0 0:1.1.1-29.el7_0.1
Red Hat:enterprise_linux:7::workstation libvirt-python 0 0:1.1.1-29.el7_0.1
Ubuntu:14.04:LTS libvirt 0 1.2.2-0ubuntu13.1.5
openSUSE:Tumbleweed libvirt 0 2.5.0-1.1

Related vulnerabilities