In the Linux kernel, the following vulnerability has been resolved:
Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl
In CoCo VMs it is possible for the untrusted host to cause setmemoryencrypted() or setmemorydecrypted() to fail such that an error is returned and the resulting memory is shared. Callers need to take care to handle these errors to avoid returning decrypted (shared) memory to the page allocator, which could lead to functional or security issues.
In order to make sure callers of vmbusestablishgpadl() and vmbusteardowngpadl() don't return decrypted/shared pages to allocators, add a field in struct vmbus_gpadl to keep track of the decryption status of the buffers. This will allow the callers to know if they should free or leak the pages.
[
{
"signature_version": "v1",
"id": "CVE-2024-36912-048c0098",
"digest": {
"threshold": 0.9,
"line_hashes": [
"203183176315912333744998368517424200954",
"68013136317085840765655667843188033289",
"126721726621294178856906620918372770562",
"308964760115542924875365128972232540740"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1999644d95194d4a58d3e80ad04ce19220a01a81",
"target": {
"file": "include/linux/hyperv.h"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-0831e15a",
"digest": {
"length": 2244.0,
"function_hash": "133570929525983148655483631063757443095"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1999644d95194d4a58d3e80ad04ce19220a01a81",
"target": {
"function": "__vmbus_establish_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-292e9cfb",
"digest": {
"length": 1271.0,
"function_hash": "127956300578601292476478230922518754229"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@211f514ebf1ef5de37b1cf6df9d28a56cfd242ca",
"target": {
"function": "vmbus_teardown_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-34dea809",
"digest": {
"threshold": 0.9,
"line_hashes": [
"323678840122418173750843981816184675314",
"201740942301828041479229403362668167163",
"250903831035625814510213699263615484478",
"239093912162038853496349790387805874158",
"276747577148664434397246063199569889180",
"177372239425777717610113765054041880680",
"273211488439906717024565265710586746464",
"262736660523471108523156214017967235451",
"127185380014169367741747785429924284593",
"173925435320830932196713552929372443759",
"56666617940415040408000920800407707410",
"210103669136477558946333045195940317201",
"220561620700816180689077340397567638474",
"70099237215659492132497849722846007792"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1999644d95194d4a58d3e80ad04ce19220a01a81",
"target": {
"file": "drivers/hv/channel.c"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-38e812d3",
"digest": {
"length": 1271.0,
"function_hash": "127956300578601292476478230922518754229"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e62341f5c45b27519b7d193bcc32ada416ad9d8",
"target": {
"function": "vmbus_teardown_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-648b1b5d",
"digest": {
"length": 1271.0,
"function_hash": "127956300578601292476478230922518754229"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1999644d95194d4a58d3e80ad04ce19220a01a81",
"target": {
"function": "vmbus_teardown_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-79de4ad2",
"digest": {
"threshold": 0.9,
"line_hashes": [
"323678840122418173750843981816184675314",
"201740942301828041479229403362668167163",
"250903831035625814510213699263615484478",
"239093912162038853496349790387805874158",
"276747577148664434397246063199569889180",
"177372239425777717610113765054041880680",
"273211488439906717024565265710586746464",
"262736660523471108523156214017967235451",
"127185380014169367741747785429924284593",
"173925435320830932196713552929372443759",
"56666617940415040408000920800407707410",
"210103669136477558946333045195940317201",
"220561620700816180689077340397567638474",
"70099237215659492132497849722846007792"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@211f514ebf1ef5de37b1cf6df9d28a56cfd242ca",
"target": {
"file": "drivers/hv/channel.c"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-7bf8a9ce",
"digest": {
"threshold": 0.9,
"line_hashes": [
"203183176315912333744998368517424200954",
"68013136317085840765655667843188033289",
"126721726621294178856906620918372770562",
"308964760115542924875365128972232540740"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@211f514ebf1ef5de37b1cf6df9d28a56cfd242ca",
"target": {
"file": "include/linux/hyperv.h"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-a5409ead",
"digest": {
"length": 1271.0,
"function_hash": "127956300578601292476478230922518754229"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bfae56be077ba14311509e70706a13458f87ea99",
"target": {
"function": "vmbus_teardown_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-ac2119e4",
"digest": {
"length": 2244.0,
"function_hash": "133570929525983148655483631063757443095"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bfae56be077ba14311509e70706a13458f87ea99",
"target": {
"function": "__vmbus_establish_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-bb866031",
"digest": {
"threshold": 0.9,
"line_hashes": [
"323678840122418173750843981816184675314",
"201740942301828041479229403362668167163",
"250903831035625814510213699263615484478",
"239093912162038853496349790387805874158",
"276747577148664434397246063199569889180",
"177372239425777717610113765054041880680",
"273211488439906717024565265710586746464",
"262736660523471108523156214017967235451",
"127185380014169367741747785429924284593",
"173925435320830932196713552929372443759",
"56666617940415040408000920800407707410",
"210103669136477558946333045195940317201",
"220561620700816180689077340397567638474",
"70099237215659492132497849722846007792"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bfae56be077ba14311509e70706a13458f87ea99",
"target": {
"file": "drivers/hv/channel.c"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-d00ddf3f",
"digest": {
"length": 2244.0,
"function_hash": "133570929525983148655483631063757443095"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@211f514ebf1ef5de37b1cf6df9d28a56cfd242ca",
"target": {
"function": "__vmbus_establish_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-e26c52e0",
"digest": {
"threshold": 0.9,
"line_hashes": [
"203183176315912333744998368517424200954",
"68013136317085840765655667843188033289",
"126721726621294178856906620918372770562",
"308964760115542924875365128972232540740"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e62341f5c45b27519b7d193bcc32ada416ad9d8",
"target": {
"file": "include/linux/hyperv.h"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-ec768ae6",
"digest": {
"threshold": 0.9,
"line_hashes": [
"323678840122418173750843981816184675314",
"201740942301828041479229403362668167163",
"250903831035625814510213699263615484478",
"239093912162038853496349790387805874158",
"276747577148664434397246063199569889180",
"177372239425777717610113765054041880680",
"273211488439906717024565265710586746464",
"262736660523471108523156214017967235451",
"127185380014169367741747785429924284593",
"173925435320830932196713552929372443759",
"56666617940415040408000920800407707410",
"210103669136477558946333045195940317201",
"220561620700816180689077340397567638474",
"70099237215659492132497849722846007792"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e62341f5c45b27519b7d193bcc32ada416ad9d8",
"target": {
"file": "drivers/hv/channel.c"
},
"signature_type": "Line"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-f749f2d7",
"digest": {
"length": 2244.0,
"function_hash": "133570929525983148655483631063757443095"
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8e62341f5c45b27519b7d193bcc32ada416ad9d8",
"target": {
"function": "__vmbus_establish_gpadl",
"file": "drivers/hv/channel.c"
},
"signature_type": "Function"
},
{
"signature_version": "v1",
"id": "CVE-2024-36912-fb780751",
"digest": {
"threshold": 0.9,
"line_hashes": [
"203183176315912333744998368517424200954",
"68013136317085840765655667843188033289",
"126721726621294178856906620918372770562",
"308964760115542924875365128972232540740"
]
},
"deprecated": false,
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bfae56be077ba14311509e70706a13458f87ea99",
"target": {
"file": "include/linux/hyperv.h"
},
"signature_type": "Line"
}
]