CVE-2024-36909
CriticalCVSS 9.3Exploitation Probability (EPSS)
Low risk13th percentile - higher than 13% of all known CVEs
Summary
In the Linux kernel, a problem was found in the vmbus driver (Drivers: hv) where ring buffers that couldn't be re-encrypted could be freed. In CoCo VMs, an untrusted host can cause set_memory_encrypted() or set_memory_decrypted() to fail, leaving memory shared. The VMBus ring buffer code could free decrypted/shared pages if set_memory_decrypted() fails. The fix checks the decrypted field in the struct vmbus_gpadl for the ring buffers to decide whether to free the memory.
Risk Assessment
Freeing decrypted memory can lead to confidentiality or integrity breaches, as shared memory may be accessible to the untrusted host, potentially enabling attacks.
Recommendation
It is recommended to update the Linux kernel to a version containing the fix for CVE-2024-36909, which prevents freeing ring buffers that couldn't be re-encrypted.
Original NVD description (English source)
In the Linux kernel, the following vulnerability has been resolved: Drivers: hv: vmbus: Don't free ring buffers that couldn't be re-encrypted 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. The VMBus ring buffer code could free decrypted/shared pages if set_memory_decrypted() fails. Check the decrypted field in the struct vmbus_gpadl for the ring buffers to decide whether to free the memory.

