{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2024-26890",
  "modified": "2026-10-07T17:22:01Z",
  "upstream": [
    "CVE-2024-26890"
  ],
  "published": "2024-04-17T10:29:01Z",
  "summary": "Bluetooth: btrtl: fix out of bounds memory access",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: btrtl: fix out of bounds memory access\n\nThe problem is detected by KASAN.\nbtrtl driver uses private hci data to store 'struct btrealtek_data'.\nIf btrtl driver is used with btusb, then memory for private hci data\nis allocated in btusb. But no private data is allocated after hci_dev,\nwhen btrtl is used with hci_h5.\n\nThis commit adds memory allocation for hci_h5 case.\n\n ==================================================================\n BUG: KASAN: slab-out-of-bounds in btrtl_initialize+0x6cc/0x958 [btrtl]\n Write of size 8 at addr ffff00000f5a5748 by task kworker/u9:0/76\n\n Hardware name: Pine64 PinePhone (1.2) (DT)\n Workqueue: hci0 hci_power_on [bluetooth]\n Call trace:\n  dump_backtrace+0x9c/0x128\n  show_stack+0x20/0x38\n  dump_stack_lvl+0x48/0x60\n  print_report+0xf8/0x5d8\n  kasan_report+0x90/0xd0\n  __asan_store8+0x9c/0xc0\n  \t [btrtl]\n  h5_btrtl_setup+0xd0/0x2f8 [hci_uart]\n  h5_setup+0x50/0x80 [hci_uart]\n  hci_uart_setup+0xd4/0x260 [hci_uart]\n  hci_dev_open_sync+0x1cc/0xf68 [bluetooth]\n  hci_dev_do_open+0x34/0x90 [bluetooth]\n  hci_power_on+0xc4/0x3c8 [bluetooth]\n  process_one_work+0x328/0x6f0\n  worker_thread+0x410/0x778\n  kthread+0x168/0x178\n  ret_from_fork+0x10/0x20\n\n Allocated by task 53:\n  kasan_save_stack+0x3c/0x68\n  kasan_save_track+0x20/0x40\n  kasan_save_alloc_info+0x68/0x78\n  __kasan_kmalloc+0xd4/0xd8\n  __kmalloc+0x1b4/0x3b0\n  hci_alloc_dev_priv+0x28/0xa58 [bluetooth]\n  hci_uart_register_device+0x118/0x4f8 [hci_uart]\n  h5_serdev_probe+0xf4/0x178 [hci_uart]\n  serdev_drv_probe+0x54/0xa0\n  really_probe+0x254/0x588\n  __driver_probe_device+0xc4/0x210\n  driver_probe_device+0x64/0x160\n  __driver_attach_async_helper+0x88/0x158\n  async_run_entry_fn+0xd0/0x388\n  process_one_work+0x328/0x6f0\n  worker_thread+0x410/0x778\n  kthread+0x168/0x178\n  ret_from_fork+0x10/0x20\n\n Last potentially related work creation:\n  kasan_save_stack+0x3c/0x68\n  __kasan_record_aux_stack+0xb0/0x150\n  kasan_record_aux_stack_noalloc+0x14/0x20\n  __queue_work+0x33c/0x960\n  queue_work_on+0x98/0xc0\n  hci_recv_frame+0xc8/0x1e8 [bluetooth]\n  h5_complete_rx_pkt+0x2c8/0x800 [hci_uart]\n  h5_rx_payload+0x98/0xb8 [hci_uart]\n  h5_recv+0x158/0x3d8 [hci_uart]\n  hci_uart_receive_buf+0xa0/0xe8 [hci_uart]\n  ttyport_receive_buf+0xac/0x178\n  flush_to_ldisc+0x130/0x2c8\n  process_one_work+0x328/0x6f0\n  worker_thread+0x410/0x778\n  kthread+0x168/0x178\n  ret_from_fork+0x10/0x20\n\n Second to last potentially related work creation:\n  kasan_save_stack+0x3c/0x68\n  __kasan_record_aux_stack+0xb0/0x150\n  kasan_record_aux_stack_noalloc+0x14/0x20\n  __queue_work+0x788/0x960\n  queue_work_on+0x98/0xc0\n  __hci_cmd_sync_sk+0x23c/0x7a0 [bluetooth]\n  __hci_cmd_sync+0x24/0x38 [bluetooth]\n  btrtl_initialize+0x760/0x958 [btrtl]\n  h5_btrtl_setup+0xd0/0x2f8 [hci_uart]\n  h5_setup+0x50/0x80 [hci_uart]\n  hci_uart_setup+0xd4/0x260 [hci_uart]\n  hci_dev_open_sync+0x1cc/0xf68 [bluetooth]\n  hci_dev_do_open+0x34/0x90 [bluetooth]\n  hci_power_on+0xc4/0x3c8 [bluetooth]\n  process_one_work+0x328/0x6f0\n  worker_thread+0x410/0x778\n  kthread+0x168/0x178\n  ret_from_fork+0x10/0x20\n ==================================================================",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.6.20-1+rpt1"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "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.6.20-1+rpt1": {
            "linux_commit": "6f16847710cc0502450788b9f12f0a14d3429668",
            "upstream_version": "6.6.20",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.6.23"
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2024-26890"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/dd163fa34c483f1674aa2510accce11a224f649e"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/2f232bc389a4f5943c40733582f9edf77b89e499"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/0c657e641df1e77d6087688190f632cad9c0439b"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/de4e88ec58c4202efd1f02eebb4939bbf6945358"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-08-05T11:52:36Z"
  }
}
