CVE-2024-44937

In the Linux kernel, the following vulnerability has been resolved: platform/x86: intel-vbtn: Protect ACPI notify handler against recursion Since commit e2ffcda16290 ("ACPI: OSL: Allow Notify () handlers to run on all CPUs") ACPI notify handlers like the intel-vbtn notify_handler() may run on multiple CPU cores racing with themselves. This race gets hit on Dell Venue 7140 tablets when undocking from the keyboard, causing the handler to try and register priv->switches_dev twice, as can be seen from the dev_info() message getting logged twice: [ 83.861800] intel-vbtn INT33D6:00: Registering Intel Virtual Switches input-dev after receiving a switch event [ 83.861858] input: Intel Virtual Switches as /devices/pci0000:00/0000:00:1f.0/PNP0C09:00/INT33D6:00/input/input17 [ 83.861865] intel-vbtn INT33D6:00: Registering Intel Virtual Switches input-dev after receiving a switch event After which things go seriously wrong: [ 83.861872] sysfs: cannot create duplicate filename '/devices/pci0000:00/0000:00:1f.0/PNP0C09:00/INT33D6:00/input/input17' ... [ 83.861967] kobject: kobject_add_internal failed for input17 with -EEXIST, don't try to register things with the same name in the same directory. [ 83.877338] BUG: kernel NULL pointer dereference, address: 0000000000000018 ... Protect intel-vbtn notify_handler() from racing with itself with a mutex to fix this.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*

History

27 Aug 2024, 16:10

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/5c9618a3b6ea94cf7bdff7702aca8bf2d777d97b - () https://git.kernel.org/stable/c/5c9618a3b6ea94cf7bdff7702aca8bf2d777d97b - Patch
References () https://git.kernel.org/stable/c/e075c3b13a0a142dcd3151b25d29a24f31b7b640 - () https://git.kernel.org/stable/c/e075c3b13a0a142dcd3151b25d29a24f31b7b640 - Patch
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE CWE-476
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
First Time Linux
Linux linux Kernel
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: plataforma/x86: intel-vbtn: protege el controlador de notificación ACPI contra la recursividad desde el commit e2ffcda16290 ("ACPI: OSL: permitir que los controladores Notify () se ejecuten en todas las CPU") Controladores de notificación ACPI como intel-vbtn notify_handler() puede ejecutarse en múltiples núcleos de CPU que compiten entre sí. Esta ejecución se ve afectada en las tabletas Dell Venue 7140 al desacoplarlas del teclado, lo que hace que el controlador intente registrar priv->switches_dev dos veces, como se puede ver en el mensaje dev_info() que se registra dos veces: [83.861800] intel-vbtn INT33D6: 00: Registro de conmutadores virtuales Intel input-dev después de recibir un evento de conmutador [ 83.861858] entrada: Conmutadores virtuales Intel como /devices/pci0000:00/0000:00:1f.0/PNP0C09:00/INT33D6:00/input/input17 [ 83.861865] intel-vbtn INT33D6:00: Registro de conmutadores virtuales Intel input-dev después de recibir un evento de cambio Después del cual las cosas van muy mal: [83.861872] sysfs: no se puede crear un nombre de archivo duplicado '/devices/pci0000:00/0000:00:1f .0/PNP0C09:00/INT33D6:00/input/input17' ... [83.861967] kobject: kobject_add_internal falló para input17 con -EEXIST, no intente registrar cosas con el mismo nombre en el mismo directorio. [83.877338] ERROR: desreferencia del puntero NULL del kernel, dirección: 00000000000000018... Proteja intel-vbtn notify_handler() para que no corra consigo mismo con un mutex para solucionar este problema.

26 Aug 2024, 11:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-08-26 11:15

Updated : 2024-08-27 16:10


NVD link : CVE-2024-44937

Mitre link : CVE-2024-44937

CVE.ORG link : CVE-2024-44937


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference