{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2024-53207",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2024-53207"
  ],
  "published": "2024-12-27T13:53:01Z",
  "summary": "Bluetooth: MGMT: Fix possible deadlocks",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: MGMT: Fix possible deadlocks\n\nThis fixes possible deadlocks like the following caused by\nhci_cmd_sync_dequeue causing the destroy function to run:\n\n INFO: task kworker/u19:0:143 blocked for more than 120 seconds.\n       Tainted: G        W  O        6.8.0-2024-03-19-intel-next-iLS-24ww14 #1\n \"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n task:kworker/u19:0   state:D stack:0     pid:143   tgid:143   ppid:2      flags:0x00004000\n Workqueue: hci0 hci_cmd_sync_work [bluetooth]\n Call Trace:\n  <TASK>\n  __schedule+0x374/0xaf0\n  schedule+0x3c/0xf0\n  schedule_preempt_disabled+0x1c/0x30\n  __mutex_lock.constprop.0+0x3ef/0x7a0\n  __mutex_lock_slowpath+0x13/0x20\n  mutex_lock+0x3c/0x50\n  mgmt_set_connectable_complete+0xa4/0x150 [bluetooth]\n  ? kfree+0x211/0x2a0\n  hci_cmd_sync_dequeue+0xae/0x130 [bluetooth]\n  ? __pfx_cmd_complete_rsp+0x10/0x10 [bluetooth]\n  cmd_complete_rsp+0x26/0x80 [bluetooth]\n  mgmt_pending_foreach+0x4d/0x70 [bluetooth]\n  __mgmt_power_off+0x8d/0x180 [bluetooth]\n  ? _raw_spin_unlock_irq+0x23/0x40\n  hci_dev_close_sync+0x445/0x5b0 [bluetooth]\n  hci_set_powered_sync+0x149/0x250 [bluetooth]\n  set_powered_sync+0x24/0x60 [bluetooth]\n  hci_cmd_sync_work+0x90/0x150 [bluetooth]\n  process_one_work+0x13e/0x300\n  worker_thread+0x2f7/0x420\n  ? __pfx_worker_thread+0x10/0x10\n  kthread+0x107/0x140\n  ? __pfx_kthread+0x10/0x10\n  ret_from_fork+0x3d/0x60\n  ? __pfx_kthread+0x10/0x10\n  ret_from_fork_asm+0x1b/0x30\n  </TASK>",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.6.62-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.6.62+rpt-rpi-2712",
            "binary_version": "1:6.6.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.62+rpt-rpi-v6",
            "binary_version": "1:6.6.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.62+rpt-rpi-v7",
            "binary_version": "1:6.6.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.62+rpt-rpi-v7l",
            "binary_version": "1:6.6.62-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.62+rpt-rpi-v8",
            "binary_version": "1:6.6.62-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.6.62-1+rpt1": {
            "linux_commit": "dd2394360860d15146c96635796a75b05bb32b61",
            "upstream_version": "6.6.62",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.6.64"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2024-53207"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c3f594a3473d6429a0bcf2004cb2885368741b79"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/5703fb1d85f653e35b327b14de4db7da239e4fd9"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/6a25ce9b4af6dc26ee2b9c32d6bd37620bf9739e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/cac34e44281f1f1bd842adbbcfe3ef9ff0905111"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/a66dfaf18fd61bb75ef8cee83db46b2aadf153d0"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T11:52:36Z",
    "severity": {
      "source": "kernel CNA",
      "cvss_v3_score": 7.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:L - The vulnerability is reached by writing MGMT commands to a local AF_BLUETOOTH/BTPROTO_HCI socket bound to HCI_CHANNEL_CONTROL (hci_sock_sendmsg \u2192 hci_mgmt_cmd), plus the HCIDEVDOWN ioctl path; no over-the-air Bluetooth traffic is involved.\nAC:L - The attacker drives both halves from the same socket \u2014 issue SET_POWERED(off), whose hci_dev_close_sync does workqueue drains and controller shutdown commands, then queue a second cmd_sync entry into that window \u2014 and can retry the sequence indefinitely until it lands.\nPR:L - Sending these MGMT opcodes requires the HCI_SOCK_TRUSTED flag (CAP_NET_ADMIN), which on real deployments is held by the Bluetooth daemon/stack process (bluetoothd, Android AID_BLUETOOTH) rather than full root, so a compromised low-privileged Bluetooth service reaches this directly.\nUI:N - The entire sequence is driven by the attacker's own MGMT socket writes; no victim action or interaction is needed.\nS:U - The deadlock and memory corruption are confined to the kernel's own security authority \u2014 there is no VM, IOMMU, or sandbox boundary crossed.\nC:H - Callbacks such as start_discovery_complete and read_local_oob_ext_data_complete free the mgmt_pending_cmd, after which cmd_complete_rsp reads cmd->cmd_complete from the freed GFP_KERNEL slab object; a heap-sprayed reclaim of that object yields a controlled read primitive and disclosure of kernel memory.\nI:H - The stale cmd is dereferenced for an indirect function-pointer call (cmd->cmd_complete(cmd, status)) and then passed to mgmt_pending_remove a second time, giving a double free plus list_del on freed memory \u2014 a control-flow-hijack and arbitrary-write primitive.\nA:H - mgmt_set_connectable_complete/mgmt_set_discoverable_complete re-acquire hdev->lock already held by hci_dev_close_sync, permanently deadlocking the hci_cmd_sync_work kworker while holding that mutex, and the UAF/double-free path independently corrupts the slab and panics the kernel."
    }
  }
}
