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.
{ "vanir_signatures": [ { "signature_type": "Function", "deprecated": false, "source": "https://gitlab.com/libvirt/libvirt@447f69dec47e1b0bd15ecd7cd49a9fd3b050fb87", "signature_version": "v1", "target": { "function": "storagePoolLookupByTargetPath", "file": "src/storage/storage_driver.c" }, "digest": { "function_hash": "63369119804262480602584117246342452608", "length": 747.0 }, "id": "CVE-2021-3667-57b6bb4d" }, { "signature_type": "Line", "deprecated": false, "source": "https://gitlab.com/libvirt/libvirt@447f69dec47e1b0bd15ecd7cd49a9fd3b050fb87", "signature_version": "v1", "target": { "file": "src/storage/storage_driver.c" }, "digest": { "line_hashes": [ "195877491387619479579158237720163764491", "90682379184772759765846818989144802475", "317837978998188109099395814412819850670", "336804048009231029245701955274722411095", "94913288173034920064177808702328388873" ], "threshold": 0.9 }, "id": "CVE-2021-3667-cd1a45ce" } ] }