← back
CVE-2024-36912

Drivers: hv: vmbus: Track decrypted status in vmbus_gpadl

CVSS 8.1 HIGHEPSS 0.9%CWE-1258
In short

In confidential computing VMs, the Linux kernel's Hyper-V driver didn't properly track whether memory was successfully encrypted or decrypted, potentially allowing a malicious host to cause the system to return shared (decrypted) memory back to the allocator, leading to data leaks or system instability.

Technical detail

The vulnerability exists in the vmbus_gpadl structure where decryption status tracking was missing. An untrusted host in a CoCo VM can cause set_memory_encrypted() or set_memory_decrypted() calls to fail, resulting in shared memory being returned to page allocators. The fix adds a status field to track decryption state, enabling proper error handling by callers of vmbus_establish_gpadl() and vmbus_teardown_gpadl() to prevent memory mismanagement.

Summary generated and translated by AI from the official description.
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.
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Affected products
Linux · Linux

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →