HyperKit is a toolkit for embedding hypervisor capabilities in an application. In versions 0.20210107, function pci_vtsock_proc_tx in virtio-sock can lead to to uninitialized memory use. In this situation, there is a check for the return value to be less or equal to VTSOCK_MAXSEGS, but that check is not sufficient because the function can return -1 if it finds an error it cannot recover from. Moreover, the negative return value will be used by iovec_pull in a while condition that can further lead to more corruption because the function is not designed to handle a negative iov_len. This issue may lead to a guest crashing the host causing a denial of service and, under certain circumstance, memory corruption. This issue is fixed in commit af5eba2360a7351c08dfd9767d9be863a50ebaba.
[
{
"digest": {
"function_hash": "125994073580106480435013042924630844270",
"length": 5340.0
},
"id": "CVE-2021-32846-b09d9f98",
"signature_version": "v1",
"target": {
"file": "src/lib/pci_virtio_sock.c",
"function": "pci_vtsock_proc_tx"
},
"source": "https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba",
"deprecated": false,
"signature_type": "Function"
},
{
"digest": {
"line_hashes": [
"118801894192246387531295740415707816522",
"210678114142392592887100980302801274153",
"216889802229094579609416855703020175875",
"303809023214414299997951559145263804521"
],
"threshold": 0.9
},
"id": "CVE-2021-32846-eb6585cd",
"signature_version": "v1",
"target": {
"file": "src/lib/pci_virtio_sock.c"
},
"source": "https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba",
"deprecated": false,
"signature_type": "Line"
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-32846.json"