Linux: serial: core: fix NULL pointer dereference in serial_core_unregister_port()
What fixes it
- 54abbb862366dcaf1f22f1e968358147b7d0547dLinuxCVE List
- 499485a67fbacf4d9afbdb43522388c64f853428LinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
serial: core: fix NULL pointer dereference in serial_core_unregister_port()
port->port_dev is NULL when no port device is installed: it is cleared on teardown, and never set if registration failed before serial_core_port_device_add(). serial_core_unregister_port() passes it straight to serial_core_get_ctrl_dev(), which dereferences it:
KASAN: null-ptr-deref in range [0x0000000000000040-0x0000000000000047] RIP: serial_core_unregister_port Call Trace: serial8250_unregister_port serial8250_remove unbind_store
Return early when there is no port device, and read port->port_dev under port_mutex.
Also clear port->port_dev on the serial_core_register_port() error path, where the port device has already been removed.
Text from CVE List
Affected versions 6
- Linuxaffected: 84a9582fd203063cd4d301204971ff2cd8327f1a before 54abbb862366dcaf1f22f1e968358147b7d0547dCVE List
- Linuxaffected: 84a9582fd203063cd4d301204971ff2cd8327f1a before 499485a67fbacf4d9afbdb43522388c64f853428CVE List
- Linuxaffected: 6.5CVE List
- Linuxunaffected: all versions before 6.5CVE List
- Linuxunaffected: 7.2.10 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List