{
  "threat_severity" : "Moderate",
  "public_date" : "2025-12-16T00:00:00Z",
  "bugzilla" : {
    "description" : "kernel: Bluetooth: hci_core: lookup hci_conn on RX path on protocol side",
    "id" : "2422828",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2422828"
  },
  "cvss3" : {
    "cvss3_base_score" : "5.5",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
    "status" : "draft"
  },
  "cwe" : "CWE-366",
  "details" : [ "In the Linux kernel, the following vulnerability has been resolved:\nBluetooth: hci_core: lookup hci_conn on RX path on protocol side\nThe hdev lock/lookup/unlock/use pattern in the packet RX path doesn't\nensure hci_conn* is not concurrently modified/deleted. This locking\nappears to be leftover from before conn_hash started using RCU\ncommit bf4c63252490b (\"Bluetooth: convert conn hash to RCU\")\nand not clear if it had purpose since then.\nCurrently, there are code paths that delete hci_conn* from elsewhere\nthan the ordered hdev->workqueue where the RX work runs in. E.g.\ncommit 5af1f84ed13a (\"Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync\")\nintroduced some of these, and there probably were a few others before\nit.  It's better to do the locking so that even if these run\nconcurrently no UAF is possible.\nMove the lookup of hci_conn and associated socket-specific conn to\nprotocol recv handlers, and do them within a single critical section\nto cover hci_conn* usage and lookup.\nsyzkaller has reported a crash that appears to be this issue:\n[Task hdev->workqueue]          [Task 2]\nhci_disconnect_all_sync\nl2cap_recv_acldata(hcon)\nhci_conn_get(hcon)\nhci_abort_conn_sync(hcon)\nhci_dev_lock\nhci_dev_lock\nhci_conn_del(hcon)\nv-------------------------------- hci_dev_unlock\nhci_conn_put(hcon)\nconn = hcon->l2cap_data (UAF)", "A use-after-free vulnerability was found in the Linux kernel's Bluetooth subsystem. The hci_conn lookup on the RX path uses a lock/lookup/unlock/use pattern that doesn't prevent concurrent deletion of the hci_conn structure. When hci_abort_conn_sync() or similar functions delete the connection while RX processing is ongoing, a use-after-free occurs." ],
  "statement" : "Exploitation requires Bluetooth connectivity and specific timing between connection teardown and packet reception. Physical proximity or a compromised paired device may be required.",
  "package_state" : [ {
    "product_name" : "Red Hat Enterprise Linux 10",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:10"
  }, {
    "product_name" : "Red Hat Enterprise Linux 6",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:6"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Not affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Not affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2025-68304\nhttps://nvd.nist.gov/vuln/detail/CVE-2025-68304\nhttps://lore.kernel.org/linux-cve-announce/2025121644-CVE-2025-68304-9ae7@gregkh/T" ],
  "name" : "CVE-2025-68304",
  "csaw" : false
}