CVE-2026-53073

Summary

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error

When hci_register_dev() fails in hci_uart_register_dev() HCI_UART_PROTO_INIT is not cleared before calling hu->proto->close(hu) and setting hu->hdev to NULL. This means incoming UART data will reach the protocol-specific recv handler in hci_uart_tty_receive() after resources are freed.

Clear HCI_UART_PROTO_INIT with a write lock before calling hu->proto->close() and setting hu->hdev to NULL. The write lock ensures all active readers have completed and no new reader can enter the protocol recv path before resources are freed.

This allows the protocol-specific recv functions to remove the "HCI_UART_REGISTERED" guard without risking a null pointer dereference if hci_register_dev() fails.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa40f94f7caa8d3421b64f63ac31bc0f24c890f39 < ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07affected
LinuxLinux9e5a0f5777162e503400c70c6ed25fbbe2d38799 < ed4033fb85ccaaf6c3983be3c7b037e48253d232affected
LinuxLinux80f14e9de6a43a0bd8194cad1003a3e6dcbc3984 < 356dee1bcac4d0d9152390561fa63331ebff211baffected
LinuxLinux02e1bcdfdf769974e7e9fa285e295cd9852e2a38 < a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40affected
LinuxLinux281782d2c6730241e300d630bb9f200d831ede71 < f4b69c35813c432973d340d3600c01de106ed474affected
LinuxLinux5df5dafc171b90d0b8d51547a82657cd5a1986c7 < 3daa5818e473ed60eb69d8b5c71b651909d28c5aaffected
LinuxLinux5df5dafc171b90d0b8d51547a82657cd5a1986c7 < 194f029a4d7f739e44ebc1f473120187b4de5104affected
LinuxLinux5df5dafc171b90d0b8d51547a82657cd5a1986c7 < 68d39ea5e0adc9ecaea1ce8abd842ec972eb8718affected
LinuxLinux1dcf08fcff5ca529de6dc0395091f28854f4e54aaffected
LinuxLinux8e5aff600539e5faea294d9612cca50220e602b8affected
LinuxLinuxdb7509fa110dd9b11134b75894677f30353b2c51affected
LinuxLinux5.10.237 < 5.10.258affected
LinuxLinux5.15.181 < 5.15.209affected
LinuxLinux6.1.135 < 6.1.175affected
LinuxLinux6.6.88 < 6.6.141affected
LinuxLinux6.12.24 < 6.12.91affected
LinuxLinux5.4.293 < 5.5affected
LinuxLinux6.13.12 < 6.14affected
LinuxLinux6.14.3 < 6.15affected
LinuxLinux6.15affected
LinuxLinux0 < 6.15unaffected
LinuxLinux5.10.258 <= 5.10.*unaffected
LinuxLinux5.15.209 <= 5.15.*unaffected
LinuxLinux6.1.175 <= 6.1.*unaffected
LinuxLinux6.6.141 <= 6.6.*unaffected
LinuxLinux6.12.91 <= 6.12.*unaffected
LinuxLinux6.18.33 <= 6.18.*unaffected
LinuxLinux7.0.10 <= 7.0.*unaffected
LinuxLinux7.1 <= *unaffected

Weaknesses

References