A DMA reentrancy issue was found in the Tulip device emulation in QEMU. When Tulip reads or writes to the rx/tx descriptor or copies the rx/tx frame, it doesn't check whether the destination address is its own MMIO address. This can cause the device to trigger MMIO handlers multiple times, possibly leading to a stack or heap overflow. A malicious guest could use this flaw to crash the QEMU process on the host, resulting in a denial of service condition.
[
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"line_hashes": [
"33159858745377908645997765771213700539",
"87404591472821702745539163954061690588",
"19419043666085762877338208946949306429",
"118525739223405489846661017724525931171",
"94652972890096512091001834816232665381",
"87404591472821702745539163954061690588",
"322822004330675076548298562185758055897",
"204039834203728791100931558873361667713"
],
"threshold": 0.9
},
"signature_version": "v1",
"id": "CVE-2022-2962-886a0380",
"source": "https://gitlab.com/qemu-project/qemu@36a894aeb64a2e02871016da1c37d4a4ca109182",
"target": {
"file": "hw/net/tulip.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 718.0,
"function_hash": "96687268046739572125620693955961275251"
},
"signature_version": "v1",
"id": "CVE-2022-2962-d9cbf375",
"source": "https://gitlab.com/qemu-project/qemu@36a894aeb64a2e02871016da1c37d4a4ca109182",
"target": {
"function": "tulip_desc_read",
"file": "hw/net/tulip.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 702.0,
"function_hash": "177297676384258436152410763558256028350"
},
"signature_version": "v1",
"id": "CVE-2022-2962-fff12b1c",
"source": "https://gitlab.com/qemu-project/qemu@36a894aeb64a2e02871016da1c37d4a4ca109182",
"target": {
"function": "tulip_desc_write",
"file": "hw/net/tulip.c"
}
}
]