CVE-2008-5086: High severity oracle libvirt vulnerability
Daniel Berrange discovered that libvirt fails to check whether connection to libvirtd is in read-only or read-write mode, possibly allowing non-privileged users with access to the host machine to perform certain actions that should be restricted to administrative users only.
The following methods in libvirt.c are missing a check against the read-only connection flag:
virDomainMigrate virDomainMigratePrepare virDomainMigratePerform virDomainMigrateFinish virDomainMigratePrepare2 virDomainMigrateFinish2 virDomainBlockPeek virDomainMemoryPeek virDomainSetAutostart virNetworkSetAutostart virConnectFindStoragePoolSources virStoragePoolSetAutostart
In recent versions, libvirt uses PolicyKit to authorize connections from users. Default policy allows any local user to connect in the read-only mode.
Older versions of libvirt, or version not compiled with PolicyKit or with PolicyKit authorization disabled, default to allow read-only connections to all local users.
Thus out of the box unprivileged local users may be able to migrate VMs, set or unset the autostart flag for domains, networks & storage pools, and access privileged data in the VM memory, or disks.
All TCP remote connections are read-write, and fully authenticated, thus not impacted.
Other sources
Multiple methods in libvirt 0.3.2 through 0.5.1 do not check if a connection is read-only, which allows local users to bypass intended access restrictions and perform administrative actions.
— MITRE
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2008-5086?
CVE-2008-5086 has a moderate severity rating due to its potential to allow non-privileged users to perform restricted actions.
How do I fix CVE-2008-5086?
To fix CVE-2008-5086, upgrade to a patched version of libvirt that addresses the connection mode vulnerability.
Which versions of libvirt are affected by CVE-2008-5086?
CVE-2008-5086 affects libvirt versions 0.3.2, 0.3.3, 0.4.1, 0.4.2, 0.4.6, and 0.5.0 to 0.5.1.
What actions can non-privileged users perform due to CVE-2008-5086?
Due to CVE-2008-5086, non-privileged users may execute administrative-level actions on the libvirtd connection.
Who discovered CVE-2008-5086?
CVE-2008-5086 was discovered by Daniel Berrange.