---
id: CVE-2026-53073
title: 'Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error'
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-…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= a40f94f7caa8d3421b64f63ac31bc0f24c890f39 <
    ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07
  - >-
    Linux >= 9e5a0f5777162e503400c70c6ed25fbbe2d38799 <
    ed4033fb85ccaaf6c3983be3c7b037e48253d232
  - >-
    Linux >= 80f14e9de6a43a0bd8194cad1003a3e6dcbc3984 <
    356dee1bcac4d0d9152390561fa63331ebff211b
  - >-
    Linux >= 02e1bcdfdf769974e7e9fa285e295cd9852e2a38 <
    a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40
  - >-
    Linux >= 281782d2c6730241e300d630bb9f200d831ede71 <
    f4b69c35813c432973d340d3600c01de106ed474
  - >-
    Linux >= 5df5dafc171b90d0b8d51547a82657cd5a1986c7 <
    3daa5818e473ed60eb69d8b5c71b651909d28c5a
  - >-
    Linux >= 5df5dafc171b90d0b8d51547a82657cd5a1986c7 <
    194f029a4d7f739e44ebc1f473120187b4de5104
  - >-
    Linux >= 5df5dafc171b90d0b8d51547a82657cd5a1986c7 <
    68d39ea5e0adc9ecaea1ce8abd842ec972eb8718
  - Linux 1dcf08fcff5ca529de6dc0395091f28854f4e54a
  - Linux 8e5aff600539e5faea294d9612cca50220e602b8
  - Linux db7509fa110dd9b11134b75894677f30353b2c51
  - Linux >= 5.10.237 < 5.10.258
  - Linux >= 5.15.181 < 5.15.209
  - Linux >= 6.1.135 < 6.1.175
  - Linux >= 6.6.88 < 6.6.141
  - Linux >= 6.12.24 < 6.12.91
  - Linux >= 5.4.293 < 5.5
  - Linux >= 6.13.12 < 6.14
  - Linux >= 6.14.3 < 6.15
  - Linux 6.15
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-06T16:17:48.192876Z'
published: '2026-06-24'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T16:23:58.102Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-53073'
references:
  - url: 'https://git.kernel.org/stable/c/ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07'
  - url: 'https://git.kernel.org/stable/c/ed4033fb85ccaaf6c3983be3c7b037e48253d232'
  - url: 'https://git.kernel.org/stable/c/356dee1bcac4d0d9152390561fa63331ebff211b'
  - url: 'https://git.kernel.org/stable/c/a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40'
  - url: 'https://git.kernel.org/stable/c/f4b69c35813c432973d340d3600c01de106ed474'
  - url: 'https://git.kernel.org/stable/c/3daa5818e473ed60eb69d8b5c71b651909d28c5a'
  - url: 'https://git.kernel.org/stable/c/194f029a4d7f739e44ebc1f473120187b4de5104'
  - url: 'https://git.kernel.org/stable/c/68d39ea5e0adc9ecaea1ce8abd842ec972eb8718'
tags:
  - cve.org
epss: 0.00114
epssPercentile: 0.01493
ingestedAt: '2026-11-06T16:57:43.298Z'
---

## Overview

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

- `Linux >= a40f94f7caa8d3421b64f63ac31bc0f24c890f39 < ebb39b2d81731b83ee71a1ba6dd0291a57b5ac07`
- `Linux >= 9e5a0f5777162e503400c70c6ed25fbbe2d38799 < ed4033fb85ccaaf6c3983be3c7b037e48253d232`
- `Linux >= 80f14e9de6a43a0bd8194cad1003a3e6dcbc3984 < 356dee1bcac4d0d9152390561fa63331ebff211b`
- `Linux >= 02e1bcdfdf769974e7e9fa285e295cd9852e2a38 < a673cf6c4ac702cb79ac1f4d7fc4de763a6a3e40`
- `Linux >= 281782d2c6730241e300d630bb9f200d831ede71 < f4b69c35813c432973d340d3600c01de106ed474`
- `Linux >= 5df5dafc171b90d0b8d51547a82657cd5a1986c7 < 3daa5818e473ed60eb69d8b5c71b651909d28c5a`
- `Linux >= 5df5dafc171b90d0b8d51547a82657cd5a1986c7 < 194f029a4d7f739e44ebc1f473120187b4de5104`
- `Linux >= 5df5dafc171b90d0b8d51547a82657cd5a1986c7 < 68d39ea5e0adc9ecaea1ce8abd842ec972eb8718`
- `Linux 1dcf08fcff5ca529de6dc0395091f28854f4e54a`
- `Linux 8e5aff600539e5faea294d9612cca50220e602b8`
- `Linux db7509fa110dd9b11134b75894677f30353b2c51`
- `Linux >= 5.10.237 < 5.10.258`
- `Linux >= 5.15.181 < 5.15.209`
- `Linux >= 6.1.135 < 6.1.175`
- `Linux >= 6.6.88 < 6.6.141`
- `Linux >= 6.12.24 < 6.12.91`
- `Linux >= 5.4.293 < 5.5`
- `Linux >= 6.13.12 < 6.14`
- `Linux >= 6.14.3 < 6.15`
- `Linux 6.15`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
