{"id":"CVE-2021-32846","details":"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.","modified":"2026-07-09T00:36:24.774470Z","published":"2023-02-17T23:15:12.037Z","references":[{"type":"ADVISORY","url":"https://securitylab.github.com/advisories/GHSL-2021-054_057-moby-hyperkit/"},{"type":"FIX","url":"https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba"},{"type":"FIX","url":"https://github.com/moby/hyperkit/pull/313"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/moby/hyperkit","events":[{"introduced":"0"},{"last_affected":"40cbd5caa9580e2b6de8fef53f4581943c430312"},{"fixed":"af5eba2360a7351c08dfd9767d9be863a50ebaba"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"last_affected":"0.20210107"}],"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:mobyproject:hyperkit:*:*:*:*:*:*:*:*"}}],"versions":["v0.20210107","v0.20200908","v0.20200224","v0.20190802","v0.20190201","v0.20180621","v0.20171204","v0.20171020","v0.20170904","v0.20170519","v0.20170511","v0.20170425","v0.20170227","v0.20170214"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-32846.json","vanir_signatures_modified":"2026-07-09T00:36:24Z","vanir_signatures":[{"signature_type":"Function","signature_version":"v1","source":"https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba","target":{"file":"src/lib/pci_virtio_sock.c","function":"pci_vtsock_proc_tx"},"deprecated":false,"digest":{"function_hash":"125994073580106480435013042924630844270","length":5340},"id":"CVE-2021-32846-b09d9f98"},{"digest":{"line_hashes":["118801894192246387531295740415707816522","210678114142392592887100980302801274153","216889802229094579609416855703020175875","303809023214414299997951559145263804521"],"threshold":0.9},"id":"CVE-2021-32846-eb6585cd","signature_type":"Line","signature_version":"v1","source":"https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba","target":{"file":"src/lib/pci_virtio_sock.c"},"deprecated":false}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}