Podatność w sterowniku VMBus jądra Linux powoduje, że w środowiskach CoCo VM (Confidential Computing) niezaszyfrowane (współdzielone) strony pamięci mogą zostać zwrócone do alokatora stron po nieudanym wywołaniu set_memory_encrypted(). Stanowi to poważne zagrożenie bezpieczeństwa, ponieważ niezaszyfrowana pamięć może zostać ujawniona lub skompromitowana przez niezaufanego hosta.
▸ Pokaż oryginał (EN)
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.
W środowiskach CoCo VM niezaufany host może doprowadzić do niepowodzenia funkcji set_memory_encrypted() lub set_memory_decrypted(), przy czym funkcje te zwracają błąd, a pamięć pozostaje w stanie współdzielonym (niezaszyfrowanym). Kod obsługi ring bufferów VMBus nie sprawdzał poprawnie wyniku tych operacji i mógł zwolnić strony pamięci, które nadal były w stanie odszyfrowanym/współdzielonym. Poprawka polega na weryfikacji pola 'decrypted' w strukturze vmbus_gpadl przed zwolnieniem pamięci ring bufferów, co zapobiega przekazaniu niezaszyfrowanych stron z powrotem do alokatora.
Atakujący z poziomu niezaufanego hosta może doprowadzić do sytuacji, w której niezaszyfrowana (współdzielona) pamięć wraca do alokatora stron, co może skutkować ujawnieniem poufnych danych (naruszenie poufności), nieprawidłowym działaniem systemu lub eskalacją uprawnień (naruszenie integralności i dostępności).
Należy zastosować patche dostępne u producenta zgodnie z referencjami (committy dostępne w repozytorium stable jądra Linux: 2f622008bf78, 30d18df6567b, 82f9e213b124, a9212a4e2963).
Jądro Linux — wersje wskazane w referencjach producenta; podatność dotyczy konfiguracji wykorzystujących VMBus w środowiskach Confidential Computing (CoCo VM), np. Microsoft Hyper-V.
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:HLinux Kernel
OSLinux6.9< 6.1.916.2 – 6.6.31 (bez)6.7 – 6.8.10 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
RCE przez YAML deserialization w IBM Aspera Faspex
RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection
Command Injection w VMware Workspace One Access i Identity Manager