CVE-2024-36912
CriticalCVSS 9.6Exploitation Probability (EPSS)
Elevated risk57th percentile - higher than 57% of all known CVEs
Summary
In the Linux kernel, a vulnerability in the vmbus driver was fixed where in CoCo VMs, a failed set_memory_encrypted() or set_memory_decrypted() call could lead to freeing decrypted (shared) memory pages. The fix adds a field in struct vmbus_gpadl to track the decryption status of buffers, preventing such pages from being returned to the allocator.
Risk Assessment
Risk of memory security compromise in Hyper-V environments with CoCo VMs if shared pages are returned to the allocator.
Recommendation
Update the Linux kernel to a patched version and review code using vmbus_establish_gpadl() and vmbus_teardown_gpadl().
Original NVD description (English source)
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 set_memory_encrypted() or set_memory_decrypted() 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 vmbus_establish_gpadl() and vmbus_teardown_gpadl() 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.

