{
  "cveId": "CVE-2022-49909",
  "url": "https://patchblox.com/security/cve/CVE-2022-49909",
  "summary": "CVE-2022-49909 is fixed in linux on 1 platform, first by DEBIAN-CVE-2022-49909, released May 1, 2025. It is not reported as exploited. Patch Radar priority: High.",
  "title": "linux: In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: L2CAP: fix use-after-free in l2cap_co...",
  "description": "In the Linux kernel, the following vulnerability has been resolved:  Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del()  When l2cap_recv_frame() is invoked to receive data, and the cid is L2CAP_CID_A2MP, if the channel does not exist, it will create a channel. However, after a channel is created, the hold operation of the channel is not performed. In this case, the value of channel reference counting is 1. As a result, after hci_error_reset() is triggered, l2cap_conn_del() invokes the close hook function of A2MP to release the channel. Then  l2cap_chan_unlock(chan) will trigger UAF issue.  The process is as follows: Receive data: l2cap_data_channel()     a2mp_channel_create()  ---\u003Echannel ref is 2     l2cap_chan_put()       ---\u003Echannel ref is 1  Triger event:     hci_error_reset()         hci_dev_do_close()         ...         l2cap_disconn_cfm()             l2cap_conn_del()                 l2cap_chan_hold()    ---\u003Echannel ref is 2                 l2cap_chan_del()     ---\u003Echannel ref is 1                 a2mp_chan_close_cb() ---\u003Echannel ref is 0, release channel                 l2cap_chan_unlock()  ---\u003EUAF of channel  The detailed Call Trace is as follows: BUG: KASAN: use-after-free in __mutex_unlock_slowpath\u002B0xa6/0x5e0 Read of size 8 at addr ffff8880160664b8 by task kworker/u11:1/7593 Workqueue: hci0 hci_error_reset Call Trace:  \u003CTASK\u003E  dump_stack_lvl\u002B0xcd/0x134  print_report.cold\u002B0x2ba/0x719  kasan_report\u002B0xb1/0x1e0  kasan_check_range\u002B0x140/0x190  __mutex_unlock_slowpath\u002B0xa6/0x5e0  l2cap_conn_del\u002B0x404/0x7b0  l2cap_disconn_cfm\u002B0x8c/0xc0  hci_conn_hash_flush\u002B0x11f/0x260  hci_dev_close_sync\u002B0x5f5/0x11f0  hci_dev_do_close\u002B0x2d/0x70  hci_error_reset\u002B0x9e/0x140  process_one_work\u002B0x98a/0x1620  worker_thread\u002B0x665/0x1080  kthread\u002B0x2e4/0x3a0  ret_from_fork\u002B0x1f/0x30  \u003C/TASK\u003E  Allocated by task 7593:  kasan_save_stack\u002B0x1e/0x40  __kasan_kmalloc\u002B0xa9/0xd0  l2cap_chan_create\u002B0x40/0x930  amp_mgr_create\u002B0x96/0x990  a2mp_channel_create\u002B0x7d/0x150  l2cap_recv_frame\u002B0x51b8/0x9a70  l2cap_recv_acldata\u002B0xaa3/0xc00  hci_rx_work\u002B0x702/0x1220  process_one_work\u002B0x98a/0x1620  worker_thread\u002B0x665/0x1080  kthread\u002B0x2e4/0x3a0  ret_from_fork\u002B0x1f/0x30  Freed by task 7593:  kasan_save_stack\u002B0x1e/0x40  kasan_set_track\u002B0x21/0x30  kasan_set_free_info\u002B0x20/0x30  ____kasan_slab_free\u002B0x167/0x1c0  slab_free_freelist_hook\u002B0x89/0x1c0  kfree\u002B0xe2/0x580  l2cap_chan_put\u002B0x22a/0x2d0  l2cap_conn_del\u002B0x3fc/0x7b0  l2cap_disconn_cfm\u002B0x8c/0xc0  hci_conn_hash_flush\u002B0x11f/0x260  hci_dev_close_sync\u002B0x5f5/0x11f0  hci_dev_do_close\u002B0x2d/0x70  hci_error_reset\u002B0x9e/0x140  process_one_work\u002B0x98a/0x1620  worker_thread\u002B0x665/0x1080  kthread\u002B0x2e4/0x3a0  ret_from_fork\u002B0x1f/0x30  Last potentially related work creation:  kasan_save_stack\u002B0x1e/0x40  __kasan_record_aux_stack\u002B0xbe/0xd0  call_rcu\u002B0x99/0x740  netlink_release\u002B0xe6a/0x1cf0  __sock_release\u002B0xcd/0x280  sock_close\u002B0x18/0x20  __fput\u002B0x27c/0xa90  task_work_run\u002B0xdd/0x1a0  exit_to_user_mode_prepare\u002B0x23c/0x250  syscall_exit_to_user_mode\u002B0x19/0x50  do_syscall_64\u002B0x42/0x80  entry_SYSCALL_64_after_hwframe\u002B0x63/0xcd  Second to last potentially related work creation:  kasan_save_stack\u002B0x1e/0x40  __kasan_record_aux_stack\u002B0xbe/0xd0  call_rcu\u002B0x99/0x740  netlink_release\u002B0xe6a/0x1cf0  __sock_release\u002B0xcd/0x280  sock_close\u002B0x18/0x20  __fput\u002B0x27c/0xa90  task_work_run\u002B0xdd/0x1a0  exit_to_user_mode_prepare\u002B0x23c/0x250  syscall_exit_to_user_mode\u002B0x19/0x50  do_syscall_64\u002B0x42/0x80  entry_SYSCALL_64_after_hwframe\u002B0x63/0xcd",
  "published": "2025-05-01T15:16:16Z",
  "severity": "high",
  "cvss": 7.8,
  "cvssVector": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
  "priority": "High",
  "priorityTier": 3,
  "exploited": false,
  "vendorExploited": false,
  "disclosed": false,
  "fixes": [
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 11.6 (bullseye)",
      "fixedVersion": "5.10.158-1",
      "fix": "DEBIAN-CVE-2022-49909",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2022-49909",
      "released": "2025-05-01T15:16:16Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 12.15 (bookworm)",
      "fixedVersion": "6.0.8-1",
      "fix": "DEBIAN-CVE-2022-49909",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2022-49909",
      "released": "2025-05-01T15:16:16Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 13.5 (trixie)",
      "fixedVersion": "6.0.8-1",
      "fix": "DEBIAN-CVE-2022-49909",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2022-49909",
      "released": "2025-05-01T15:16:16Z"
    },
    {
      "platform": "linux",
      "product": "linux",
      "release": "Debian 14",
      "fixedVersion": "6.0.8-1",
      "fix": "DEBIAN-CVE-2022-49909",
      "url": "https://patchblox.com/security/fix/linux/debian-cve-2022-49909",
      "released": "2025-05-01T15:16:16Z"
    }
  ],
  "noFixYet": [],
  "dataAsOf": "2026-11-08T06:59:42Z",
  "attribution": {
    "text": "Data: Patchblox Patch Radar",
    "url": "https://patchblox.com/security/patch-radar",
    "terms": "https://patchblox.com/security/patch-radar/use-the-data"
  }
}