CVE-2026-74302 (GCVE-0-2026-74302)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:58 – Updated: 2026-08-17 05:45
VLAI
Title
Bluetooth: hci_core: Fix UAF in hci_unregister_dev()
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_core: Fix UAF in hci_unregister_dev() hci_unregister_dev() does not disable cmd_timer and ncmd_timer before the hci_dev structure is freed. If a timeout fires during device teardown, the callback dereferences freed memory (including the hdev->reset function pointer), leading to a use-after-free. Add disable_delayed_work_sync() calls alongside the existing disable_work_sync() calls to ensure both timers are fully quiesced before teardown proceeds.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 0d151a103775dd9645c78c97f77d6e2a5298d913 , < 48c7ad6afcc58c2cda11fed39791708103b6a644 (git)
Affected: 0d151a103775dd9645c78c97f77d6e2a5298d913 , < a0fd1086a57b982f8c24ae4ab165c2af39fe1735 (git)
Affected: 0d151a103775dd9645c78c97f77d6e2a5298d913 , < 672d52d9412252e61b8de8d773ccdf5a277cf540 (git)
Affected: 0d151a103775dd9645c78c97f77d6e2a5298d913 , < 5edcc018fa6e80b2c478454a4a8229c23d67c181 (git)
Affected: 48542881997e17b49dc16b93fe910e0cfcf7a9f9 (git)
Affected: 9cfc84b1d464cc024286f42a090718f9067b80ed (git)
Affected: ddeda6ca5f218b668b560d90fc31ae469adbfd92 (git)
Affected: d2ce562a5aff1dcd0c50d9808ea825ef90da909f (git)
Affected: 96600c2e5ee8213dbab5df1617293d8e847bb4fa (git)
Affected: d6cbce18370641a21dd889e8613d8153df15eb39 (git)
Affected: 3f939bd73fed12dddc2a32a76116c19ca47c7678 (git)
Affected: 4.19.319 , < 4.20 (semver)
Affected: 5.4.281 , < 5.5 (semver)
Affected: 5.10.223 , < 5.11 (semver)
Affected: 5.15.164 , < 5.16 (semver)
Affected: 6.1.101 , < 6.2 (semver)
Affected: 6.6.42 , < 6.7 (semver)
Affected: 6.9.11 , < 6.10 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 6.10
Unaffected: 0 , < 6.10 (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/hci_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "48c7ad6afcc58c2cda11fed39791708103b6a644",
              "status": "affected",
              "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
              "versionType": "git"
            },
            {
              "lessThan": "a0fd1086a57b982f8c24ae4ab165c2af39fe1735",
              "status": "affected",
              "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
              "versionType": "git"
            },
            {
              "lessThan": "672d52d9412252e61b8de8d773ccdf5a277cf540",
              "status": "affected",
              "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
              "versionType": "git"
            },
            {
              "lessThan": "5edcc018fa6e80b2c478454a4a8229c23d67c181",
              "status": "affected",
              "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "48542881997e17b49dc16b93fe910e0cfcf7a9f9",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "9cfc84b1d464cc024286f42a090718f9067b80ed",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ddeda6ca5f218b668b560d90fc31ae469adbfd92",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "d2ce562a5aff1dcd0c50d9808ea825ef90da909f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "96600c2e5ee8213dbab5df1617293d8e847bb4fa",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "d6cbce18370641a21dd889e8613d8153df15eb39",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "3f939bd73fed12dddc2a32a76116c19ca47c7678",
              "versionType": "git"
            },
            {
              "lessThan": "4.20",
              "status": "affected",
              "version": "4.19.319",
              "versionType": "semver"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.281",
              "versionType": "semver"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.223",
              "versionType": "semver"
            },
            {
              "lessThan": "5.16",
              "status": "affected",
              "version": "5.15.164",
              "versionType": "semver"
            },
            {
              "lessThan": "6.2",
              "status": "affected",
              "version": "6.1.101",
              "versionType": "semver"
            },
            {
              "lessThan": "6.7",
              "status": "affected",
              "version": "6.6.42",
              "versionType": "semver"
            },
            {
              "lessThan": "6.10",
              "status": "affected",
              "version": "6.9.11",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/hci_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.10"
            },
            {
              "lessThan": "6.10",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "6.10",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.19.319",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.281",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.10.223",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.15.164",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.1.101",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.6.42",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "6.9.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_core: Fix UAF in hci_unregister_dev()\n\nhci_unregister_dev() does not disable cmd_timer and ncmd_timer\nbefore the hci_dev structure is freed. If a timeout fires\nduring device teardown, the callback dereferences freed memory\n(including the hdev-\u003ereset function pointer), leading to a\nuse-after-free.\n\nAdd disable_delayed_work_sync() calls alongside the existing\ndisable_work_sync() calls to ensure both timers are fully\nquiesced before teardown proceeds."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The UAF is reached only during hci_unregister_dev() teardown (e.g. closing /dev/vhci, USB/btusb disconnect, hci_ldisc detach, or driver removal); adjacent Bluetooth peers can arm cmd_timer/ncmd_timer via HCI timeouts but cannot invoke unregister, so exploitation requires local device/syscall access.\nAC:L - An attacker controls both sides of the race\u2014arming cmd_timer (2s) or ncmd_timer (4s) by withholding HCI command completions while closing /dev/vhci to run hci_unregister_dev(), and disable_work_sync(cmd_work) can queue cmd_timer immediately before teardown; the cycle is repeatable.\nPR:L - vhci_open() has no capable() check, so any principal granted /dev/vhci (syzkaller, containers, Android bluetooth uid, permissive udev) can create/destroy virtual HCI controllers and inject frames without init-namespace root, matching prior hci_unregister_dev teardown UAF scores.\nUI:N - The attacker performs device creation, HCI traffic injection, and teardown from its own process via open/write/close on /dev/vhci or equivalent local transport; no victim interaction or cooperation is required beyond existing device-node access.\nS:U - Corruption is confined to kernel slab memory and workqueue/timer state within the same kernel security authority; exploitation yields standard kernel privilege escalation, not VM escape, IOMMU bypass, or cross-sandbox boundary crossing.\nC:H - hci_cmd_timeout() and hci_ncmd_timeout() dereference the freed hci_dev (req_skb, flags, workqueue, name) after kfree(); UAF on the hci_dev slab enables controlled reallocation and arbitrary kernel memory read/pointer disclosure via heap spraying.\nI:H - hci_cmd_timeout() invokes the freed hdev-\u003ereset function pointer and re-queues cmd_work on hdev-\u003eworkqueue; attacker-controlled contents in the reclaimed hci_dev object provide arbitrary write and control-flow hijack primitives per kernel UAF scoring guidance.\nA:H - Timer callbacks operating on freed hci_dev memory cause KASAN slab-use-after-free reports, kernel oops/panic, and can queue work onto destroyed workqueues; even failed exploitation reliably crashes or hangs the affected controller path."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:45:38.299Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/48c7ad6afcc58c2cda11fed39791708103b6a644"
        },
        {
          "url": "https://git.kernel.org/stable/c/a0fd1086a57b982f8c24ae4ab165c2af39fe1735"
        },
        {
          "url": "https://git.kernel.org/stable/c/672d52d9412252e61b8de8d773ccdf5a277cf540"
        },
        {
          "url": "https://git.kernel.org/stable/c/5edcc018fa6e80b2c478454a4a8229c23d67c181"
        }
      ],
      "title": "Bluetooth: hci_core: Fix UAF in hci_unregister_dev()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-74302",
    "datePublished": "2026-08-15T05:58:04.638Z",
    "dateReserved": "2026-08-15T05:44:03.882Z",
    "dateUpdated": "2026-08-17T05:45:38.299Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-74302",
      "date": "2026-09-21",
      "epss": "0.00125",
      "percentile": "0.02541"
    },
    "microsoft_vex": {
      "current_release_date": "2026-08-23T15:01:16.000Z",
      "cve": "CVE-2026-74302",
      "id": "msrc_CVE-2026-74302",
      "initial_release_date": "2026-08-23T15:01:16.000Z",
      "product_status:known_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "Bluetooth: hci_core: Fix UAF in hci_unregister_dev()",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-74302.json",
      "version": "1"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "net/bluetooth/hci_core.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "48c7ad6afcc58c2cda11fed39791708103b6a644",
                    "status": "affected",
                    "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a0fd1086a57b982f8c24ae4ab165c2af39fe1735",
                    "status": "affected",
                    "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "672d52d9412252e61b8de8d773ccdf5a277cf540",
                    "status": "affected",
                    "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5edcc018fa6e80b2c478454a4a8229c23d67c181",
                    "status": "affected",
                    "version": "0d151a103775dd9645c78c97f77d6e2a5298d913",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "48542881997e17b49dc16b93fe910e0cfcf7a9f9",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "9cfc84b1d464cc024286f42a090718f9067b80ed",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "ddeda6ca5f218b668b560d90fc31ae469adbfd92",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "d2ce562a5aff1dcd0c50d9808ea825ef90da909f",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "96600c2e5ee8213dbab5df1617293d8e847bb4fa",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "d6cbce18370641a21dd889e8613d8153df15eb39",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "3f939bd73fed12dddc2a32a76116c19ca47c7678",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "4.20",
                    "status": "affected",
                    "version": "4.19.319",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.5",
                    "status": "affected",
                    "version": "5.4.281",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.11",
                    "status": "affected",
                    "version": "5.10.223",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "5.16",
                    "status": "affected",
                    "version": "5.15.164",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.2",
                    "status": "affected",
                    "version": "6.1.101",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.7",
                    "status": "affected",
                    "version": "6.6.42",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.10",
                    "status": "affected",
                    "version": "6.9.11",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "net/bluetooth/hci_core.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.10"
                  },
                  {
                    "lessThan": "6.10",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.97",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_core: Fix UAF in hci_unregister_dev()\n\nhci_unregister_dev() does not disable cmd_timer and ncmd_timer\nbefore the hci_dev structure is freed. If a timeout fires\nduring device teardown, the callback dereferences freed memory\n(including the hdev-\u003ereset function pointer), leading to a\nuse-after-free.\n\nAdd disable_delayed_work_sync() calls alongside the existing\ndisable_work_sync() calls to ensure both timers are fully\nquiesced before teardown proceeds."
          }
        ],
        "id": "CVE-2026-74302",
        "lastModified": "2026-08-17T06:19:24.323",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-08-15T06:22:29.813",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/48c7ad6afcc58c2cda11fed39791708103b6a644"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/5edcc018fa6e80b2c478454a4a8229c23d67c181"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/672d52d9412252e61b8de8d773ccdf5a277cf540"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a0fd1086a57b982f8c24ae4ab165c2af39fe1735"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-20T16:22:37+00:00",
      "cve": "CVE-2026-74302",
      "id": "CVE-2026-74302",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_affected": "198",
      "product_status:known_not_affected": "76",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Bluetooth: hci_core: Fix UAF in hci_unregister_dev()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-74302.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:23:14Z",
      "cve": "CVE-2026-74302",
      "id": "CVE-2026-74302",
      "initial_release_date": "2026-08-26T01:13:32Z",
      "product_status:first_fixed": "23",
      "product_status:known_affected": "204",
      "product_status:known_not_affected": "158",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-74302",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-74302.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…