CVE-2022-49568

In the Linux kernel, the following vulnerability has been resolved: KVM: Don't null dereference ops->destroy A KVM device cleanup happens in either of two callbacks: 1) destroy() which is called when the VM is being destroyed; 2) release() which is called when a device fd is closed. Most KVM devices use 1) but Book3s's interrupt controller KVM devices (XICS, XIVE, XIVE-native) use 2) as they need to close and reopen during the machine execution. The error handling in kvm_ioctl_create_device() assumes destroy() is always defined which leads to NULL dereference as discovered by Syzkaller. This adds a checks for destroy!=NULL and adds a missing release(). This is not changing kvm_destroy_devices() as devices with defined release() should have been removed from the KVM devices list by then.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.19:rc1:*:*:*:*:*:*

History

01 Oct 2025, 20:16

Type Values Removed Values Added
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.19:rc1:*:*:*:*:*:*
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE CWE-476
References () https://git.kernel.org/stable/c/170465715a60cbb7876e6b961b21bd3225469da8 - () https://git.kernel.org/stable/c/170465715a60cbb7876e6b961b21bd3225469da8 - Patch
References () https://git.kernel.org/stable/c/3616776bc51cd3262bb1be60cc01c72e0a1959cf - () https://git.kernel.org/stable/c/3616776bc51cd3262bb1be60cc01c72e0a1959cf - Patch
References () https://git.kernel.org/stable/c/d4a5a79b780891c5cbdfdc6124d46fdf8d13dba1 - () https://git.kernel.org/stable/c/d4a5a79b780891c5cbdfdc6124d46fdf8d13dba1 - Patch
References () https://git.kernel.org/stable/c/e8bc2427018826e02add7b0ed0fc625a60390ae5 - () https://git.kernel.org/stable/c/e8bc2427018826e02add7b0ed0fc625a60390ae5 - Patch
References () https://git.kernel.org/stable/c/e91665fbbf3ccb268b268a7d71a6513538d813ac - () https://git.kernel.org/stable/c/e91665fbbf3ccb268b268a7d71a6513538d813ac - Patch
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: KVM: No desreferenciar ops->destroy Una depuración de dispositivo KVM ocurre en cualquiera de dos devoluciones de llamada: 1) destroy() que se llama cuando se está destruyendo la VM; 2) release() que se llama cuando se cierra un fd de dispositivo. La mayoría de los dispositivos KVM usan 1) pero los dispositivos KVM del controlador de interrupciones de Book3s (XICS, XIVE, XIVE-native) usan 2) ya que necesitan cerrarse y volver a abrir durante la ejecución de la máquina. La gestión de errores en kvm_ioctl_create_device() asume que destroy() siempre está definido, lo que lleva a una desreferencia NULL como lo descubrió Syzkaller. Esto agrega verificaciones para destroy!=NULL y agrega un release() faltante. Esto no está cambiando kvm_destroy_devices() ya que los dispositivos con release() definido deberían haber sido eliminados de la lista de dispositivos KVM para entonces.

26 Feb 2025, 07:01

Type Values Removed Values Added
New CVE

Information

Published : 2025-02-26 07:01

Updated : 2025-10-01 20:16


NVD link : CVE-2022-49568

Mitre link : CVE-2022-49568

CVE.ORG link : CVE-2022-49568


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference