CVE-2026-98719 in Linux정보

요약

\~에 의해 VulDB • 2026. 10. 20.

리눅스 커널에서 다음 취약점이 해결되었습니다:

KVM: SEV: 해제 시 "have run CPUs" 마스크 포인터를 NULL로 초기화

마스크를 해제할 때, 특히 __sev_guest_init()의 오류 경로에서 have_run_cpus를 NULL로 초기화하여 KVM이 sev->active를 사용하여 마스크가 해제되었는지 여부를 미묘하게 추적할 필요가 없도록 합니다. Sashiko가 지적했듯이, mask가 __sev_guest_init() 실패 시 이미 해제된 경우 sev_vm_destroy()에서 마스킹을 맹목적으로 해제하면 이중 해제(double-free) 오류가 발생합니다.

포인터를 NULL로 초기화하는 것이 CPUMASK_OFFSTACK=n일 때 have_run_cpus가 단일 엔트리 배열이기 때문에 매우 어렵고 이상하기 때문에 해당 로직을 헬퍼 함수로 분리합니다. cpumask가 스택에 있을 경우 직접 할당할 수 없는 CPUMASK_VAR_NULL는 사용하지 않도록 합니다(예: 지역 변수와 memcpy() 사용이 필요하며, 이는 지나치게 번거롭습니다). 또한 스택 상의 비트마스크를 지우는 것은 불필요하고 바람직하지 않은 부작용일 수 있지만, 구조체가 0으로 할당(zero-allocated)되므로 KVM은 '0'을 "null" 값으로 절대적으로 의존합니다.

free()와 쌍을 이루는 alloc() 헬퍼 함수도 opportunistically(기회 포착 차원에서) 추가했습니다. 호출 사이트가 충분히 많아 이를 수행할 가치가 있습니다.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

출처

Do you need the next level of professionalism?

Upgrade your account now!