Multiple vulnerabilities have been found in libvirt, allowing remote attackers to execute arbitrary code or cause Denial of Service.
|Package||app-emulation/libvirt on all architectures|
|Affected versions||< 18.104.22.168-r3|
|Unaffected versions||>= 22.214.171.124-r3|
libvirt is a C toolkit for manipulating virtual machines.
An error in the virNetMessageFree() function in rpc/virnetserverclient.c can lead to a use-after-free. Additionally, a socket leak in the remoteDispatchStoragePoolListAllVolumes command can lead to file descriptor exhaustion.
A remote attacker could cause certain errors during an RPC connection to cause a message to be freed without being removed from the message queue, possibly resulting in execution of arbitrary code or a Denial of Service condition. Additionally, a remote attacker could repeatedly issue the command to list all pool volumes, causing a Denial of Service condition.
There is no known workaround at this time.
All libvirt users should upgrade to the latest version:
# emerge --sync # emerge --ask --oneshot --verbose ">=app-emulation/libvirt-126.96.36.199-r3"