CVE-2021-32846

Source
https://nvd.nist.gov/vuln/detail/CVE-2021-32846
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-32846.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2021-32846
Published
2023-02-17T23:15:12Z
Modified
2025-09-19T12:59:01.153332Z
Severity
  • 7.8 (High) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H CVSS Calculator
Summary
[none]
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.

References

Affected packages

Git / github.com/moby/hyperkit

Affected ranges

Type
GIT
Repo
https://github.com/moby/hyperkit
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

v0.*

v0.20170214
v0.20170227
v0.20170425
v0.20170511
v0.20170519
v0.20170904
v0.20171020
v0.20171204
v0.20180123
v0.20180223
v0.20180403
v0.20180621
v0.20190201
v0.20190802
v0.20200224
v0.20200908
v0.20210107

Database specific

{
    "vanir_signatures": [
        {
            "source": "https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba",
            "signature_version": "v1",
            "signature_type": "Function",
            "id": "CVE-2021-32846-b09d9f98",
            "target": {
                "file": "src/lib/pci_virtio_sock.c",
                "function": "pci_vtsock_proc_tx"
            },
            "digest": {
                "function_hash": "125994073580106480435013042924630844270",
                "length": 5340.0
            },
            "deprecated": false
        },
        {
            "source": "https://github.com/moby/hyperkit/commit/af5eba2360a7351c08dfd9767d9be863a50ebaba",
            "signature_version": "v1",
            "signature_type": "Line",
            "id": "CVE-2021-32846-eb6585cd",
            "target": {
                "file": "src/lib/pci_virtio_sock.c"
            },
            "digest": {
                "line_hashes": [
                    "118801894192246387531295740415707816522",
                    "210678114142392592887100980302801274153",
                    "216889802229094579609416855703020175875",
                    "303809023214414299997951559145263804521"
                ],
                "threshold": 0.9
            },
            "deprecated": false
        }
    ]
}