CVE-2024-46698

In the Linux kernel, the following vulnerability has been resolved: video/aperture: optionally match the device in sysfb_disable() In aperture_remove_conflicting_pci_devices(), we currently only call sysfb_disable() on vga class devices. This leads to the following problem when the pimary device is not VGA compatible: 1. A PCI device with a non-VGA class is the boot display 2. That device is probed first and it is not a VGA device so sysfb_disable() is not called, but the device resources are freed by aperture_detach_platform_device() 3. Non-primary GPU has a VGA class and it ends up calling sysfb_disable() 4. NULL pointer dereference via sysfb_disable() since the resources have already been freed by aperture_detach_platform_device() when it was called by the other device. Fix this by passing a device pointer to sysfb_disable() and checking the device to determine if we should execute it or not. v2: Fix build when CONFIG_SCREEN_INFO is not set v3: Move device check into the mutex Drop primary variable in aperture_remove_conflicting_pci_devices() Drop __init on pci sysfb_pci_dev_is_enabled()
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:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*

History

13 Sep 2024, 16:53

Type Values Removed Values Added
CWE CWE-476
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
First Time Linux linux Kernel
Linux
CPE cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
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:rc5:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/17e78f43de0c6da34204cc858b4cc05671ea9acf - () https://git.kernel.org/stable/c/17e78f43de0c6da34204cc858b4cc05671ea9acf - Patch
References () https://git.kernel.org/stable/c/b49420d6a1aeb399e5b107fc6eb8584d0860fbd7 - () https://git.kernel.org/stable/c/b49420d6a1aeb399e5b107fc6eb8584d0860fbd7 - Patch

13 Sep 2024, 14:06

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: video/aperture: opcionalmente hacer coincidir el dispositivo en sysfb_disable() En aperture_remove_conflicting_pci_devices(), actualmente solo llamamos a sysfb_disable() en dispositivos de clase vga. Esto lleva al siguiente problema cuando el dispositivo principal no es compatible con VGA: 1. Un dispositivo PCI con una clase que no es VGA es la pantalla de arranque 2. Ese dispositivo se sondea primero y no es un dispositivo VGA, por lo que no se llama a sysfb_disable(), pero los recursos del dispositivo se liberan mediante aperture_detach_platform_device() 3. La GPU no principal tiene una clase VGA y termina llamando a sysfb_disable() 4. Desreferencia de puntero NULL a través de sysfb_disable() ya que los recursos ya se han liberado mediante aperture_detach_platform_device() cuando fue llamado por el otro dispositivo. Solucione esto pasando un puntero de dispositivo a sysfb_disable() y verificando el dispositivo para determinar si debemos ejecutarlo o no. v2: Arreglar la compilación cuando CONFIG_SCREEN_INFO no está configurado v3: Mover la verificación del dispositivo al mutex Eliminar la variable principal en aperture_remove_conflicting_pci_devices() Eliminar __init en pci sysfb_pci_dev_is_enabled()

13 Sep 2024, 06:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-09-13 06:15

Updated : 2024-09-13 16:53


NVD link : CVE-2024-46698

Mitre link : CVE-2024-46698

CVE.ORG link : CVE-2024-46698


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference