First published: Mon Dec 15 2008(Updated: )
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.
Affected Software | Affected Version | How to fix |
---|---|---|
Oracle Libvirt | <=older versions=policyKit-compiled versions |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-476560 is considered critical due to the potential for unauthorized access to privileged actions.
To fix REDHAT-BUG-476560, you should update libvirt to the latest patched version that addresses the security issue.
Users of older versions of libvirt and policyKit-compiled versions are affected by REDHAT-BUG-476560.
Due to REDHAT-BUG-476560, non-privileged users may perform administrative actions that should be restricted.
Libvirt is an API, daemon, and management tool for managing platform virtualization, which is vulnerable in this case.