CVE-2022-49138 (GCVE-0-2022-49138)
Vulnerability from cvelistv5
Published
2025-02-26 01:55
Modified
2026-08-05 08:54
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_event: Ignore multiple conn complete events When one of the three connection complete events is received multiple times for the same handle, the device is registered multiple times which leads to memory corruptions. Therefore, consequent events for a single connection are ignored. The conn->state can hold different values, therefore HCI_CONN_HANDLE_UNSET is introduced to identify new connections. To make sure the events do not contain this or another invalid handle HCI_CONN_HANDLE_MAX and checks are introduced. Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=215497
Impacted products
Vendor Product Version
Linux Linux Version: 7d0db0a373195385a2e0b19d1f5e4b186fdcffac
Version: 7d0db0a373195385a2e0b19d1f5e4b186fdcffac
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "include/net/bluetooth/hci_core.h",
            "net/bluetooth/hci_conn.c",
            "net/bluetooth/hci_event.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "aa1ca580e3ffe62a2c5ea1c095b609b2943c5269",
              "status": "affected",
              "version": "7d0db0a373195385a2e0b19d1f5e4b186fdcffac",
              "versionType": "git"
            },
            {
              "lessThan": "d5ebaa7c5f6f688959e8d40840b2249ede63b8ed",
              "status": "affected",
              "version": "7d0db0a373195385a2e0b19d1f5e4b186fdcffac",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "include/net/bluetooth/hci_core.h",
            "net/bluetooth/hci_conn.c",
            "net/bluetooth/hci_event.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.27"
            },
            {
              "lessThan": "2.6.27",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.17.*",
              "status": "unaffected",
              "version": "5.17.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "5.18",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.17.3",
                  "versionStartIncluding": "2.6.27",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.18",
                  "versionStartIncluding": "2.6.27",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_event: Ignore multiple conn complete events\n\nWhen one of the three connection complete events is received multiple\ntimes for the same handle, the device is registered multiple times which\nleads to memory corruptions. Therefore, consequent events for a single\nconnection are ignored.\n\nThe conn-\u003estate can hold different values, therefore HCI_CONN_HANDLE_UNSET\nis introduced to identify new connections. To make sure the events do not\ncontain this or another invalid handle HCI_CONN_HANDLE_MAX and checks\nare introduced.\n\nBuglink: https://bugzilla.kernel.org/show_bug.cgi?id=215497"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - The bug is in Bluetooth HCI event processing (Connection Complete / Sync / LE Complete) reached via the controller\u2019s HCI path; per kernel guidance Bluetooth is Adjacent, matching phones and other BT-enabled devices in range.\nAC:L - An attacker who can deliver duplicate connection-complete HCI events (malicious/buggy controller or equivalent HCI injection) triggers the double device_add path reliably; no race or other condition outside attacker control is required.\nPR:N - HCI connection-complete handling runs in the kernel during link setup before pairing/authentication and needs no local account or capability on the victim\u2014only an unauthenticated adjacent Bluetooth/HCI source.\nUI:N - If the host is connectable/advertising (common on phones and IoT), connection establishment and subsequent HCI events are processed without requiring the user to mount, open, or otherwise interact with anything.\nS:U - Impact stays in the host kernel\u2019s Bluetooth/driver-core authority; this is not a VM escape, IOMMU bypass, or other cross-boundary breakout.\nC:H - Duplicate processing calls device_add again; on -EEXIST the error path kfree\u2019s still-registered device_private while it remains on the parent klist, yielding UAF/heap corruption the author also described as use-after-free\u2014sufficient for arbitrary read.\nI:H - The same UAF of device_private while the device stays registered is kernel memory corruption (commit: \u201cmemory corruptions\u201d), enabling heap reuse and control-flow hijacking / arbitrary write, not merely a clean crash.\nA:H - The corrupted sysfs device state leads to a NULL deref in klist_next/device_find_child on disconnect (BUG 215497), i.e. a kernel oops/DoS; UAFs also crash when not fully exploited."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T08:54:02.681Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/aa1ca580e3ffe62a2c5ea1c095b609b2943c5269"
        },
        {
          "url": "https://git.kernel.org/stable/c/d5ebaa7c5f6f688959e8d40840b2249ede63b8ed"
        }
      ],
      "title": "Bluetooth: hci_event: Ignore multiple conn complete events",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2022-49138",
    "datePublished": "2025-02-26T01:55:10.632Z",
    "dateReserved": "2025-02-26T01:49:39.268Z",
    "dateUpdated": "2026-08-05T08:54:02.681Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…