In the Linux kernel, the following vulnerability has been resolved:
virtio_pmem: Check device status before requesting flush
If a pmem device is in a bad status, the driver side could wait for host ack forever in virtiopmemflush(), causing the system to hang.
So add a status check in the beginning of virtiopmemflush() to return early if the device is not activated.
[
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/nvdimm/nd_virtio.c",
"function": "virtio_pmem_flush"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b01793cc63dd39c8f12b9a3d8dc115fbebb19e2a",
"digest": {
"length": 1415.0,
"function_hash": "323553827132055600175959981633980636655"
},
"id": "CVE-2024-50184-40bf95a9"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/nvdimm/nd_virtio.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a5ca0ab94e13a1474bf7ad8437a975c2193618f",
"digest": {
"line_hashes": [
"69016981698178001681904518925824658904",
"306687644025120365885588869245149051496",
"19912039518409401148025890029870759451"
],
"threshold": 0.9
},
"id": "CVE-2024-50184-95cc6c75"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/nvdimm/nd_virtio.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b01793cc63dd39c8f12b9a3d8dc115fbebb19e2a",
"digest": {
"line_hashes": [
"69016981698178001681904518925824658904",
"306687644025120365885588869245149051496",
"19912039518409401148025890029870759451"
],
"threshold": 0.9
},
"id": "CVE-2024-50184-afa3c6df"
},
{
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "drivers/nvdimm/nd_virtio.c"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ce662fe4be6fbc2595d9ef4888b2b6e778c99ed",
"digest": {
"line_hashes": [
"69016981698178001681904518925824658904",
"306687644025120365885588869245149051496",
"19912039518409401148025890029870759451"
],
"threshold": 0.9
},
"id": "CVE-2024-50184-ee8fb03b"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/nvdimm/nd_virtio.c",
"function": "virtio_pmem_flush"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4ce662fe4be6fbc2595d9ef4888b2b6e778c99ed",
"digest": {
"length": 1415.0,
"function_hash": "323553827132055600175959981633980636655"
},
"id": "CVE-2024-50184-fc3c73a8"
},
{
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "drivers/nvdimm/nd_virtio.c",
"function": "virtio_pmem_flush"
},
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@6a5ca0ab94e13a1474bf7ad8437a975c2193618f",
"digest": {
"length": 1415.0,
"function_hash": "323553827132055600175959981633980636655"
},
"id": "CVE-2024-50184-ff1ee95a"
}
]