Skip to content
Heist/ feed
Unrated

Bluetooth: do not leak an hci_conn when a second LE connect is rejected

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: do not leak an hci_conn when a second LE connect is rejected create_le_conn_complete() decides whether the failed connection is still pending by comparing it against hci_lookup_le_connect(), which returns the first LE connection in BT_CONNECT. That is the same connection only while at most one is pending. Two can be pending. Connections created on the passive scan path sit in BT_CONNECT with HCI_CONN_SCANNING set and are invisible to hci_lookup_le_connect() until hci_le_create_conn_sync() clears the flag when their command is issued, so the -EBUSY guard in hci_connect_le() does not prevent a second connection from being queued while the first is still on the scan path. Whenever two connections are in BT_CONNECT at once, the lookup may return one connection while create_le_conn_complete() is reporting the failure of the other; the early exit then drops the error and hci_conn_failed() never runs on the connection that failed. The controller also rejects a second HCI_OP_LE_CREATE_CONN issued while another connection creation is still outstanding, per Core Spec Vol 4, Part E. The spec calls for Command Disallowed there; the bcm43438 observed here answers with an LMP/LL error code instead, which bt_to_errno() maps to the -EPROTO (-71) in the log below. The leaked connection stays in BT_CONNECT forever, and because hci_connect_le() refuses to dial while hci_lookup_le_connect() finds anything, every subse

Announced Group revision 1
Original source ↗

CVE-2026-90087

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-90087

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "c9f73a2178c12fb24d2807634209559d6a836e08",
        "lessThan": "a78d16530c1538a215a827c7c3a4b408d6759bc0",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c9f73a2178c12fb24d2807634209559d6a836e08",
        "lessThan": "78970b39529844b31df2949015f66752e17210fe",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c9f73a2178c12fb24d2807634209559d6a836e08",
        "lessThan": "8a8585e421d06f878b33ef79f82cace0d485e3d8",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c9f73a2178c12fb24d2807634209559d6a836e08",
        "lessThan": "2eafcf310f4e0ad4f387881db01116bbe3cc0b39",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "c9f73a2178c12fb24d2807634209559d6a836e08",
        "lessThan": "7e1e4047200fd7519f9bdfe8a001437715e618b4",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "ee23bb0e4315476413e4e1ed9c486d6f9472294d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "da499d598cb84b45a2aa930dc9213dc9a746a81d",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "5.17.14",
        "lessThan": "5.18",
        "versionType": "semver"
      },
      {
        "status": "affected",
        "version": "5.18.3",
        "lessThan": "5.19",
        "versionType": "semver"
      }
    ],
    "programFiles": [
      "net/bluetooth/hci_sync.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "5.19"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.19",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.6.160",
        "versionType": "semver",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.12.114",
        "versionType": "semver",
        "lessThanOrEqual": "6.12.*"
      },
      {
        "status": "unaffected",
        "version": "6.18.57",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.6",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "net/bluetooth/hci_sync.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-90087

Source reference: /cveMetadata/cveId

Publisher severity

No explicit severity was provided.

Event
#48597 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement