CVE-2024-38633

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
21/06/2024
Last modified:
04/11/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> serial: max3100: Update uart_driver_registered on driver removal<br /> <br /> The removal of the last MAX3100 device triggers the removal of<br /> the driver. However, code doesn&amp;#39;t update the respective global<br /> variable and after insmod — rmmod — insmod cycle the kernel<br /> oopses:<br /> <br /> max3100 spi-PRP0001:01: max3100_probe: adding port 0<br /> BUG: kernel NULL pointer dereference, address: 0000000000000408<br /> ...<br /> RIP: 0010:serial_core_register_port+0xa0/0x840<br /> ...<br /> max3100_probe+0x1b6/0x280 [max3100]<br /> spi_probe+0x8d/0xb0<br /> <br /> Update the actual state so next time UART driver will be registered<br /> again.<br /> <br /> Hugo also noticed, that the error path in the probe also affected<br /> by having the variable set, and not cleared. Instead of clearing it<br /> move the assignment after the successfull uart_register_driver() call.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 2.6.30 (including) 4.19.316 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (including) 5.4.278 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.219 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.161 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 6.1.93 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (including) 6.6.33 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (including) 6.9.4 (excluding)