{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2024-27416",
  "modified": "2026-10-09T11:39:44Z",
  "upstream": [
    "CVE-2024-27416"
  ],
  "published": "2024-05-17T11:52:22Z",
  "summary": "Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST\n\nIf we received HCI_EV_IO_CAPA_REQUEST while\nHCI_OP_READ_REMOTE_EXT_FEATURES is yet to be responded assume the remote\ndoes support SSP since otherwise this event shouldn't be generated.",
  "severity": [
    {
      "type": "CVSS_V3",
      "score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
    }
  ],
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.63-1+rpt1",
        "1:6.1.73-1+rpt1",
        "1:6.6.20-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi7-rpi-2712",
            "binary_version": "1:6.1.63-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi7-rpi-v6",
            "binary_version": "1:6.1.63-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi7-rpi-v7",
            "binary_version": "1:6.1.63-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi7-rpi-v7l",
            "binary_version": "1:6.1.63-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi7-rpi-v8",
            "binary_version": "1:6.1.63-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi8-rpi-2712",
            "binary_version": "1:6.1.73-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi8-rpi-v6",
            "binary_version": "1:6.1.73-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi8-rpi-v7",
            "binary_version": "1:6.1.73-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi8-rpi-v7l",
            "binary_version": "1:6.1.73-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi8-rpi-v8",
            "binary_version": "1:6.1.73-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.20+rpt-rpi-2712",
            "binary_version": "1:6.6.20-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.20+rpt-rpi-v6",
            "binary_version": "1:6.6.20-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.20+rpt-rpi-v7",
            "binary_version": "1:6.6.20-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.20+rpt-rpi-v7l",
            "binary_version": "1:6.6.20-1+rpt1"
          },
          {
            "binary_name": "linux-image-6.6.20+rpt-rpi-v8",
            "binary_version": "1:6.6.20-1+rpt1"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.63-1+rpt1": {
            "linux_commit": null,
            "upstream_version": "6.1.63",
            "assessment": "upstream version (no usable Linux commit)",
            "upstream_fixed": "6.1.81"
          },
          "1:6.1.73-1+rpt1": {
            "linux_commit": null,
            "upstream_version": "6.1.73",
            "assessment": "upstream version (no usable Linux commit)",
            "upstream_fixed": "6.1.81"
          },
          "1:6.6.20-1+rpt1": {
            "linux_commit": "6f16847710cc0502450788b9f12f0a14d3429668",
            "upstream_version": "6.6.20",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.6.21"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2024-27416"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/afec8f772296dd8e5a2a6f83bbf99db1b9ca877f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/79820a7e1e057120c49be07cbe10643d0706b259"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/df193568d61234c81de7ed4d540c01975de60277"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/c3df637266df29edee85e94cab5fd7041e5753ba"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/30a5e812f78e3d1cced90e1ed750bf027599205f"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/fba268ac36ab19f9763ff90d276cde0ce6cd5f31"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/8e2758cc25891d2b76717aaf89b40ed215de188c"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/7e74aa53a68bf60f6019bd5d9a9a1406ec4d4865"
    }
  ],
  "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": 8.8,
      "cvss_v3_severity": "High",
      "scenario": "AV:A - The vulnerable handler processes HCI events generated by a BR/EDR peer that initiates Secure Simple Pairing over an ACL link, so the attacker must be within Bluetooth radio range of the target. Per kernel scoring convention Bluetooth is Adjacent.\nAC:L - The attacker controls its own controller's LMP timing and simply starts SSP immediately upon connection-complete, which reliably beats the host's extra Read Remote Extended Features HCI command plus LMP round trip; the attempt can also be repeated without limit.\nPR:N - HCI_EV_IO_CAPA_REQUEST and HCI_EV_SIMPLE_PAIR_COMPLETE are handled during the pre-bonding pairing phase, before any credentials or link key exist, and the guard is hit before even the HCI_MGMT/HCI_BONDABLE policy checks. No privileges on the target are required.\nUI:N - Reaching the code needs only an ACL connection to a connectable or accept-listed host, which is the default steady state for embedded, automotive, audio, kiosk and previously-paired deployments. No victim action is needed to trigger the event sequence.\nS:U - The corrupted state (hci_conn reference count and connection lifetime) lives entirely within the kernel's own security authority; no VM, IOMMU or sandbox boundary is crossed.\nC:H - The unbalanced hci_conn_drop() reintroduces a reference-count underflow (CWE-911) on a kernel object, which can drive the connection to teardown while pairing-state-machine work still references it \u2014 a use-after-free class defect whose reclaimed memory can be leveraged for kernel information disclosure.\nI:H - The same refcount underflow lets an attacker-controlled peer desynchronize hci_conn lifetime accounting, and a freed-then-reused hci_conn under remote-influenced heap grooming yields write/control-flow primitives; the guidance treats use-after-free as High integrity impact.\nA:H - A remote peer can reliably stall SSP so pairing never completes, trigger WARN_ON(refcnt < 0) in hci_conn_timeout() (a panic on panic_on_warn builds such as Android and hardened distro kernels), abort a live ACL link prematurely, or leak connections that never time out and exhaust the controller's ACL slots."
    }
  }
}
