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