What’s Vulnerable › Vulnerabilities

CVE-2024-38633: serial: max3100: Update uart_driver_registered on driver removal

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.

Affected products

How to fix

Upgrade to a fixed version: Linux kernel 4.19.316, 5.10.219, 5.15.161, 5.4.278. Check the vendor advisory for mitigations.

References

Get alerted when CVE-2024-38633 or the next vulnerability affects your stack