Description
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 products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a40f94f7caa8d3421b64f63ac31bc0f24c890f39 to < ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07affected9e5a0f5777162e503400c70c6ed25fbbe2d38799 to < ed4033fb85ccaaf6c3983be3c7b037e48253d232affected80f14e9de6a43a0bd8194cad1003a3e6dcbc3984 to < 356dee1bcac4d0d9152390561fa63331ebff211baffected02e1bcdfdf769974e7e9fa285e295cd9852e2a38 to < a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40affected281782d2c6730241e300d630bb9f200d831ede71 to < f4b69c35813c432973d340d3600c01de106ed474affected5df5dafc171b90d0b8d51547a82657cd5a1986c7 to < 3daa5818e473ed60eb69d8b5c71b651909d28c5aaffected5df5dafc171b90d0b8d51547a82657cd5a1986c7 to < 194f029a4d7f739e44ebc1f473120187b4de5104affected5df5dafc171b90d0b8d51547a82657cd5a1986c7 to < 68d39ea5e0adc9ecaea1ce8abd842ec972eb8718affected1dcf08fcff5ca529de6dc0395091f28854f4e54aaffected8e5aff600539e5faea294d9612cca50220e602b8affecteddb7509fa110dd9b11134b75894677f30353b2c51affected5.10.237 to < 5.10.258affected5.15.181 to < 5.15.209affected6.1.135 to < 6.1.175affected6.6.88 to < 6.6.141affected6.12.24 to < 6.12.91affected5.4.293 to < 5.5affected6.13.12 to < 6.14affected6.14.3 to < 6.15affected
Linux Linux
Default version status: affected
6.15affected0 to < 6.15unaffected5.10.258 to ≤ 5.10.*unaffected5.15.209 to ≤ 5.15.*unaffected6.1.175 to ≤ 6.1.*unaffected6.6.141 to ≤ 6.6.*unaffected6.12.91 to ≤ 6.12.*unaffected6.18.33 to ≤ 6.18.*unaffected7.0.10 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07 ↗
- https://git.kernel.org/stable/c/ed4033fb85ccaaf6c3983be3c7b037e48253d232 ↗
- https://git.kernel.org/stable/c/356dee1bcac4d0d9152390561fa63331ebff211b ↗
- https://git.kernel.org/stable/c/a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40 ↗
- https://git.kernel.org/stable/c/f4b69c35813c432973d340d3600c01de106ed474 ↗
- https://git.kernel.org/stable/c/3daa5818e473ed60eb69d8b5c71b651909d28c5a ↗
- https://git.kernel.org/stable/c/194f029a4d7f739e44ebc1f473120187b4de5104 ↗
- https://git.kernel.org/stable/c/68d39ea5e0adc9ecaea1ce8abd842ec972eb8718 ↗