An improper locking issue was found in the virStoragePoolLookupByTargetPath API of libvirt. It occurs in the storagePoolLookupByTargetPath function where a locked virStoragePoolObj object is not properly released on ACL permission failure. Clients connecting to the read-write socket with limited ACL permissions could use this flaw to acquire the lock and prevent other users from accessing storage pool/volume APIs, resulting in a denial of service condition. The highest threat from this vulnerability is to system availability.
The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Libvirt | Redhat | * | 7.5.0 (including) |
Advanced Virtualization for RHEL 8.2.1 | RedHat | virt:8.2-8020120210917153657.863bb0db | * |
Advanced Virtualization for RHEL 8.2.1 | RedHat | virt-devel:8.2-8020120210917153657.863bb0db | * |
Advanced Virtualization for RHEL 8.4.0.Z | RedHat | virt:av-8040020210922084349.522a0ee4 | * |
Advanced Virtualization for RHEL 8.4.0.Z | RedHat | virt-devel:av-8040020210922084349.522a0ee4 | * |
Red Hat Enterprise Linux 8 | RedHat | virt-devel:rhel-8050020211001230723.b4937e53 | * |
Red Hat Enterprise Linux 8 | RedHat | virt:rhel-8050020211001230723.b4937e53 | * |
Libvirt | Ubuntu | devel | * |
Libvirt | Ubuntu | focal | * |
Libvirt | Ubuntu | hirsute | * |
Libvirt | Ubuntu | jammy | * |
Libvirt | Ubuntu | trusty | * |
Libvirt | Ubuntu | upstream | * |
Libvirt | Ubuntu | xenial | * |
Locking is a type of synchronization behavior that ensures that multiple independently-operating processes or threads do not interfere with each other when accessing the same resource. All processes/threads are expected to follow the same steps for locking. If these steps are not followed precisely - or if no locking is done at all - then another process/thread could modify the shared resource in a way that is not visible or predictable to the original process. This can lead to data or memory corruption, denial of service, etc.