CVE-2024-38633

Medium

Description

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

SeverityMedium
CVSS5.5
Exploit probability—
ProductLinux Kernel
PublishedJun 21, 2024
First seenJun 21, 2024

How to fix

Update
  • linux linux_kernel4.19.316, 5.4.278, 5.10.219, 5.15.161, 6.1.93, 6.6.33, 6.9.4 or later

Affected products

ProductAffected versionsFixed in
linux linux_kernel2.6.30 ≤ v < 4.19.316, 4.20 ≤ v < 5.4.278, 5.5 ≤ v < 5.10.219, 5.11 ≤ v < 5.15.161, 5.16 ≤ v < 6.1.93, 6.2 ≤ v < 6.6.33, 6.7 ≤ v < 6.9.44.19.316, 5.4.278, 5.10.219, 5.15.161, 6.1.93, 6.6.33, 6.9.4

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.