CVE-2025-21969 (GCVE-0-2025-21969)

Vulnerability from cvelistv5 – Published: 2025-04-01 15:47 – Updated: 2026-08-05 11:55
VLAI
Title
Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd After the hci sync command releases l2cap_conn, the hci receive data work queue references the released l2cap_conn when sending to the upper layer. Add hci dev lock to the hci receive data work queue to synchronize the two. [1] BUG: KASAN: slab-use-after-free in l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 Read of size 8 at addr ffff8880271a4000 by task kworker/u9:2/5837 CPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 Not tainted 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024 Workqueue: hci1 hci_rx_work Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 l2cap_build_cmd net/bluetooth/l2cap_core.c:2964 [inline] l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 l2cap_sig_send_rej net/bluetooth/l2cap_core.c:5502 [inline] l2cap_sig_channel net/bluetooth/l2cap_core.c:5538 [inline] l2cap_recv_frame+0x221f/0x10db0 net/bluetooth/l2cap_core.c:6817 hci_acldata_packet net/bluetooth/hci_core.c:3797 [inline] hci_rx_work+0x508/0xdb0 net/bluetooth/hci_core.c:4040 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK> Allocated by task 5837: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4329 kmalloc_noprof include/linux/slab.h:901 [inline] kzalloc_noprof include/linux/slab.h:1037 [inline] l2cap_conn_add+0xa9/0x8e0 net/bluetooth/l2cap_core.c:6860 l2cap_connect_cfm+0x115/0x1090 net/bluetooth/l2cap_core.c:7239 hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline] hci_remote_features_evt+0x68e/0xac0 net/bluetooth/hci_event.c:3726 hci_event_func net/bluetooth/hci_event.c:7473 [inline] hci_event_packet+0xac2/0x1540 net/bluetooth/hci_event.c:7525 hci_rx_work+0x3f3/0xdb0 net/bluetooth/hci_core.c:4035 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Freed by task 54: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2353 [inline] slab_free mm/slub.c:4613 [inline] kfree+0x196/0x430 mm/slub.c:4761 l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7235 hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline] hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266 hci_abort_conn_sync+0x56c/0x11f0 net/bluetooth/hci_sync.c:5603 hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr ---truncated---
SSVC
Exploitation: none Automatable: no Technical Impact: total
CISA Coordinator (v2.0.3)
CWE
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 9b3628d79b46f06157affc56fdb218fdd4988321 , < c96cce853542b3b13da3738f35ef1be8cfcc9d1d (git)
Affected: 9b3628d79b46f06157affc56fdb218fdd4988321 , < f8094625a591eeb0b75b1bd9e713fac1d93f5ca9 (git)
Affected: 9b3628d79b46f06157affc56fdb218fdd4988321 , < 7790a79c6fce8d5d552bc64f5c82819f719e4f28 (git)
Affected: 9b3628d79b46f06157affc56fdb218fdd4988321 , < b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d (git)
Affected: 995c917d6818b39308ac6baf3f6573cb0486a238 (git)
Affected: 5.17.14 , < 5.18 (semver)
Create a notification for this product.
Linux Linux Affected: 5.18
Unaffected: 0 , < 5.18 (semver)
Unaffected: 6.6.84 , ≤ 6.6.* (semver)
Unaffected: 6.12.20 , ≤ 6.12.* (semver)
Unaffected: 6.13.8 , ≤ 6.13.* (semver)
Unaffected: 6.14 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "cvssV3_1": {
              "attackComplexity": "LOW",
              "attackVector": "LOCAL",
              "availabilityImpact": "HIGH",
              "baseScore": 7.8,
              "baseSeverity": "HIGH",
              "confidentialityImpact": "HIGH",
              "integrityImpact": "HIGH",
              "privilegesRequired": "LOW",
              "scope": "UNCHANGED",
              "userInteraction": "NONE",
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
              "version": "3.1"
            }
          },
          {
            "other": {
              "content": {
                "id": "CVE-2025-21969",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "total"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-01T17:15:33.042789Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-416",
                "description": "CWE-416 Use After Free",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-01T17:15:36.237Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/l2cap_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c96cce853542b3b13da3738f35ef1be8cfcc9d1d",
              "status": "affected",
              "version": "9b3628d79b46f06157affc56fdb218fdd4988321",
              "versionType": "git"
            },
            {
              "lessThan": "f8094625a591eeb0b75b1bd9e713fac1d93f5ca9",
              "status": "affected",
              "version": "9b3628d79b46f06157affc56fdb218fdd4988321",
              "versionType": "git"
            },
            {
              "lessThan": "7790a79c6fce8d5d552bc64f5c82819f719e4f28",
              "status": "affected",
              "version": "9b3628d79b46f06157affc56fdb218fdd4988321",
              "versionType": "git"
            },
            {
              "lessThan": "b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d",
              "status": "affected",
              "version": "9b3628d79b46f06157affc56fdb218fdd4988321",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "995c917d6818b39308ac6baf3f6573cb0486a238",
              "versionType": "git"
            },
            {
              "lessThan": "5.18",
              "status": "affected",
              "version": "5.17.14",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "net/bluetooth/l2cap_core.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "lessThan": "5.18",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.84",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.20",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.13.*",
              "status": "unaffected",
              "version": "6.13.8",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.14",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.84",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.20",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.13.8",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.14",
                  "versionStartIncluding": "5.18",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.17.14",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd\n\nAfter the hci sync command releases l2cap_conn, the hci receive data work\nqueue references the released l2cap_conn when sending to the upper layer.\nAdd hci dev lock to the hci receive data work queue to synchronize the two.\n\n[1]\nBUG: KASAN: slab-use-after-free in l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954\nRead of size 8 at addr ffff8880271a4000 by task kworker/u9:2/5837\n\nCPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 Not tainted 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024\nWorkqueue: hci1 hci_rx_work\nCall Trace:\n \u003cTASK\u003e\n __dump_stack lib/dump_stack.c:94 [inline]\n dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120\n print_address_description mm/kasan/report.c:378 [inline]\n print_report+0x169/0x550 mm/kasan/report.c:489\n kasan_report+0x143/0x180 mm/kasan/report.c:602\n l2cap_build_cmd net/bluetooth/l2cap_core.c:2964 [inline]\n l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954\n l2cap_sig_send_rej net/bluetooth/l2cap_core.c:5502 [inline]\n l2cap_sig_channel net/bluetooth/l2cap_core.c:5538 [inline]\n l2cap_recv_frame+0x221f/0x10db0 net/bluetooth/l2cap_core.c:6817\n hci_acldata_packet net/bluetooth/hci_core.c:3797 [inline]\n hci_rx_work+0x508/0xdb0 net/bluetooth/hci_core.c:4040\n process_one_work kernel/workqueue.c:3229 [inline]\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\n kthread+0x2f0/0x390 kernel/kthread.c:389\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244\n \u003c/TASK\u003e\n\nAllocated by task 5837:\n kasan_save_stack mm/kasan/common.c:47 [inline]\n kasan_save_track+0x3f/0x80 mm/kasan/common.c:68\n poison_kmalloc_redzone mm/kasan/common.c:377 [inline]\n __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394\n kasan_kmalloc include/linux/kasan.h:260 [inline]\n __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4329\n kmalloc_noprof include/linux/slab.h:901 [inline]\n kzalloc_noprof include/linux/slab.h:1037 [inline]\n l2cap_conn_add+0xa9/0x8e0 net/bluetooth/l2cap_core.c:6860\n l2cap_connect_cfm+0x115/0x1090 net/bluetooth/l2cap_core.c:7239\n hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline]\n hci_remote_features_evt+0x68e/0xac0 net/bluetooth/hci_event.c:3726\n hci_event_func net/bluetooth/hci_event.c:7473 [inline]\n hci_event_packet+0xac2/0x1540 net/bluetooth/hci_event.c:7525\n hci_rx_work+0x3f3/0xdb0 net/bluetooth/hci_core.c:4035\n process_one_work kernel/workqueue.c:3229 [inline]\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\n kthread+0x2f0/0x390 kernel/kthread.c:389\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244\n\nFreed by task 54:\n kasan_save_stack mm/kasan/common.c:47 [inline]\n kasan_save_track+0x3f/0x80 mm/kasan/common.c:68\n kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582\n poison_slab_object mm/kasan/common.c:247 [inline]\n __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264\n kasan_slab_free include/linux/kasan.h:233 [inline]\n slab_free_hook mm/slub.c:2353 [inline]\n slab_free mm/slub.c:4613 [inline]\n kfree+0x196/0x430 mm/slub.c:4761\n l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7235\n hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline]\n hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266\n hci_abort_conn_sync+0x56c/0x11f0 net/bluetooth/hci_sync.c:5603\n hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332\n process_one_work kernel/workqueue.c:3229 [inline]\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\n kthread+0x2f0/0x390 kernel/kthread.c:389\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr\n---truncated---"
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:A - The vulnerable code is fed by `hci_acldata_packet()` from ACL frames received over the air from a Bluetooth peer, so an attacker within Bluetooth radio range of the target can reach it. Bluetooth is scored as Adjacent per kernel CNA guidance.\nAC:L - The attacker controls both sides of the race \u2014 flooding L2CAP signalling frames on one side while inducing the connection abort (BT_CONFIG teardown or `hci_conn_timeout` with refcnt 0) on the other \u2014 and the two paths run on separate workqueues (`hdev-\u003eworkqueue` vs `hdev-\u003ereq_workqueue`). The window is wide because the RX worker sleeps on `conn-\u003echan_lock` and on `bt_skb_alloc(GFP_KERNEL)` while holding the stale pointer; syzbot reproduced it reliably.\nPR:N - No credentials, pairing, or link-key authentication is required \u2014 `hci_acldata_packet()` dispatches straight to `l2cap_recv_acldata()`, and `l2cap_sig_channel()` processes signalling PDUs before any authentication takes place. The `l2cap_conn` is allocated during connection setup in `hci_remote_features_evt`, entirely pre-authentication.\nUI:N - No victim action is needed; the target only has to be connectable, which is the default state for phones, headsets, car kits, and BLE peripherals with Bluetooth enabled. The attacker initiates the ACL connection and drives the entire sequence itself.\nS:U - The use-after-free corrupts kernel heap memory within the same kernel security authority. No VM, IOMMU, or sandbox boundary is crossed.\nC:H - The freed `l2cap_conn` is dereferenced for `hcon`, `hchan`, `rx_skb`, and the `chan_l` channel list, and those pointers are chased into further structures and fed to `hci_send_acl()`. Reclaiming the kmalloc-512 object with sprayed data yields an attacker-directed read primitive and leaks kernel memory.\nI:H - The path performs UAF writes into the freed object (`skb_queue_tail(\u0026conn-\u003epending_rx)`, `conn-\u003erx_len -= len`, `conn-\u003erx_skb = NULL`) and copies attacker-controlled ACL payload through the freed `rx_skb` pointer via `skb_copy_from_linear_data()`. `l2cap_data_channel()` further reaches an indirect `chan-\u003eops-\u003erecv()` call through freed memory, giving a control-flow hijack path to arbitrary code execution.\nA:H - The use-after-free reliably oopses the kernel, including taking `mutex_lock()` on a freed mutex and dereferencing freed `hcon`/`hchan` pointers inside a workqueue context. A remote peer can trigger it repeatedly to panic the system."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:55:44.372Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c96cce853542b3b13da3738f35ef1be8cfcc9d1d"
        },
        {
          "url": "https://git.kernel.org/stable/c/f8094625a591eeb0b75b1bd9e713fac1d93f5ca9"
        },
        {
          "url": "https://git.kernel.org/stable/c/7790a79c6fce8d5d552bc64f5c82819f719e4f28"
        },
        {
          "url": "https://git.kernel.org/stable/c/b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d"
        }
      ],
      "title": "Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-21969",
    "datePublished": "2025-04-01T15:47:03.408Z",
    "dateReserved": "2024-12-29T08:45:45.796Z",
    "dateUpdated": "2026-08-05T11:55:44.372Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2025-21969",
      "date": "2026-08-11",
      "epss": "0.00216",
      "percentile": "0.12183"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-21969\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-04-01T16:15:28.207\",\"lastModified\":\"2026-07-30T06:22:00.557\",\"vulnStatus\":\"Modified\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd\\n\\nAfter the hci sync command releases l2cap_conn, the hci receive data work\\nqueue references the released l2cap_conn when sending to the upper layer.\\nAdd hci dev lock to the hci receive data work queue to synchronize the two.\\n\\n[1]\\nBUG: KASAN: slab-use-after-free in l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954\\nRead of size 8 at addr ffff8880271a4000 by task kworker/u9:2/5837\\n\\nCPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 Not tainted 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024\\nWorkqueue: hci1 hci_rx_work\\nCall Trace:\\n \u003cTASK\u003e\\n __dump_stack lib/dump_stack.c:94 [inline]\\n dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120\\n print_address_description mm/kasan/report.c:378 [inline]\\n print_report+0x169/0x550 mm/kasan/report.c:489\\n kasan_report+0x143/0x180 mm/kasan/report.c:602\\n l2cap_build_cmd net/bluetooth/l2cap_core.c:2964 [inline]\\n l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954\\n l2cap_sig_send_rej net/bluetooth/l2cap_core.c:5502 [inline]\\n l2cap_sig_channel net/bluetooth/l2cap_core.c:5538 [inline]\\n l2cap_recv_frame+0x221f/0x10db0 net/bluetooth/l2cap_core.c:6817\\n hci_acldata_packet net/bluetooth/hci_core.c:3797 [inline]\\n hci_rx_work+0x508/0xdb0 net/bluetooth/hci_core.c:4040\\n process_one_work kernel/workqueue.c:3229 [inline]\\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\\n kthread+0x2f0/0x390 kernel/kthread.c:389\\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244\\n \u003c/TASK\u003e\\n\\nAllocated by task 5837:\\n kasan_save_stack mm/kasan/common.c:47 [inline]\\n kasan_save_track+0x3f/0x80 mm/kasan/common.c:68\\n poison_kmalloc_redzone mm/kasan/common.c:377 [inline]\\n __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394\\n kasan_kmalloc include/linux/kasan.h:260 [inline]\\n __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4329\\n kmalloc_noprof include/linux/slab.h:901 [inline]\\n kzalloc_noprof include/linux/slab.h:1037 [inline]\\n l2cap_conn_add+0xa9/0x8e0 net/bluetooth/l2cap_core.c:6860\\n l2cap_connect_cfm+0x115/0x1090 net/bluetooth/l2cap_core.c:7239\\n hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline]\\n hci_remote_features_evt+0x68e/0xac0 net/bluetooth/hci_event.c:3726\\n hci_event_func net/bluetooth/hci_event.c:7473 [inline]\\n hci_event_packet+0xac2/0x1540 net/bluetooth/hci_event.c:7525\\n hci_rx_work+0x3f3/0xdb0 net/bluetooth/hci_core.c:4035\\n process_one_work kernel/workqueue.c:3229 [inline]\\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\\n kthread+0x2f0/0x390 kernel/kthread.c:389\\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244\\n\\nFreed by task 54:\\n kasan_save_stack mm/kasan/common.c:47 [inline]\\n kasan_save_track+0x3f/0x80 mm/kasan/common.c:68\\n kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582\\n poison_slab_object mm/kasan/common.c:247 [inline]\\n __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264\\n kasan_slab_free include/linux/kasan.h:233 [inline]\\n slab_free_hook mm/slub.c:2353 [inline]\\n slab_free mm/slub.c:4613 [inline]\\n kfree+0x196/0x430 mm/slub.c:4761\\n l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7235\\n hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline]\\n hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266\\n hci_abort_conn_sync+0x56c/0x11f0 net/bluetooth/hci_sync.c:5603\\n hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332\\n process_one_work kernel/workqueue.c:3229 [inline]\\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\\n kthread+0x2f0/0x390 kernel/kthread.c:389\\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr\\n---truncated---\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: Bluetooth: L2CAP: Se corrige la lectura de slab-use-after-free en l2cap_send_cmd. Despu\u00e9s de que el comando hci sync libere l2cap_conn, la cola de trabajo de datos de recepci\u00f3n de hci hace referencia a la l2cap_conn liberada al enviar a la capa superior. Se a\u00f1ade el bloqueo de desarrollo de hci a la cola de trabajo de datos de recepci\u00f3n de hci para sincronizar ambos. [1] ERROR: KASAN: slab-use-after-free en l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 Lectura de tama\u00f1o 8 en la direcci\u00f3n ffff8880271a4000 por la tarea kworker/u9:2/5837 CPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 No contaminado 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0 Nombre del hardware: Google Google Compute Engine/Google Compute Engine, BIOS Google 13/09/2024 Cola de trabajo: hci1 hci_rx_work Rastreo de llamadas:  __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0x169/0x550 mm/kasan/report.c:489 kasan_report+0x143/0x180 mm/kasan/report.c:602 l2cap_build_cmd net/bluetooth/l2cap_core.c:2964 [inline] l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954 l2cap_sig_send_rej net/bluetooth/l2cap_core.c:5502 [inline] l2cap_sig_channel net/bluetooth/l2cap_core.c:5538 [inline] l2cap_recv_frame+0x221f/0x10db0 net/bluetooth/l2cap_core.c:6817 hci_acldata_packet net/bluetooth/hci_core.c:3797 [inline] hci_rx_work+0x508/0xdb0 net/bluetooth/hci_core.c:4040 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244  Asignado por la tarea 5837: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4329 kmalloc_noprof include/linux/slab.h:901 [inline] kzalloc_noprof include/linux/slab.h:1037 [inline] l2cap_conn_add+0xa9/0x8e0 net/bluetooth/l2cap_core.c:6860 l2cap_connect_cfm+0x115/0x1090 net/bluetooth/l2cap_core.c:7239 hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline] hci_remote_features_evt+0x68e/0xac0 net/bluetooth/hci_event.c:3726 hci_event_func net/bluetooth/hci_event.c:7473 [inline] hci_event_packet+0xac2/0x1540 net/bluetooth/hci_event.c:7525 hci_rx_work+0x3f3/0xdb0 net/bluetooth/hci_core.c:4035 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Freed by task 54: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3f/0x80 mm/kasan/common.c:68 kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582 poison_slab_object mm/kasan/common.c:247 [inline] __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264 kasan_slab_free include/linux/kasan.h:233 [inline] slab_free_hook mm/slub.c:2353 [inline] slab_free mm/slub.c:4613 [inline] kfree+0x196/0x430 mm/slub.c:4761 l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7235 hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline] hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266 hci_abort_conn_sync+0x56c/0x11f0 net/bluetooth/hci_sync.c:5603 hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332 process_one_work kernel/workqueue.c:3229 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310 worker_thread+0x870/0xd30 kernel/workqueue.c:3391 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr ---truncado---\"}],\"affected\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"affectedData\":[{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"unaffected\",\"programFiles\":[\"net/bluetooth/l2cap_core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"9b3628d79b46f06157affc56fdb218fdd4988321\",\"lessThan\":\"c96cce853542b3b13da3738f35ef1be8cfcc9d1d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9b3628d79b46f06157affc56fdb218fdd4988321\",\"lessThan\":\"f8094625a591eeb0b75b1bd9e713fac1d93f5ca9\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9b3628d79b46f06157affc56fdb218fdd4988321\",\"lessThan\":\"7790a79c6fce8d5d552bc64f5c82819f719e4f28\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"9b3628d79b46f06157affc56fdb218fdd4988321\",\"lessThan\":\"b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"995c917d6818b39308ac6baf3f6573cb0486a238\",\"versionType\":\"git\",\"status\":\"affected\"},{\"version\":\"5.17.14\",\"lessThan\":\"5.18\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"Linux\",\"product\":\"Linux\",\"defaultStatus\":\"affected\",\"programFiles\":[\"net/bluetooth/l2cap_core.c\"],\"repo\":\"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\"versions\":[{\"version\":\"5.18\",\"status\":\"affected\"},{\"version\":\"0\",\"lessThan\":\"5.18\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.6.84\",\"lessThanOrEqual\":\"6.6.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.12.20\",\"lessThanOrEqual\":\"6.12.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.13.8\",\"lessThanOrEqual\":\"6.13.*\",\"versionType\":\"semver\",\"status\":\"unaffected\"},{\"version\":\"6.14\",\"lessThanOrEqual\":\"*\",\"versionType\":\"original_commit_for_fix\",\"status\":\"unaffected\"}]}]}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":8.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"ADJACENT_NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":2.8,\"impactScore\":5.9},{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\",\"baseScore\":7.8,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"LOW\",\"userInteraction\":\"NONE\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"HIGH\",\"integrityImpact\":\"HIGH\",\"availabilityImpact\":\"HIGH\"},\"exploitabilityScore\":1.8,\"impactScore\":5.9}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2025-10-01T17:15:33.042789Z\",\"id\":\"CVE-2025-21969\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"total\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"nvd@nist.gov\",\"type\":\"Primary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]},{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-416\"}]}],\"configurations\":[{\"nodes\":[{\"operator\":\"OR\",\"negate\":false,\"cpeMatch\":[{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionEndExcluding\":\"6.6.84\",\"matchCriteriaId\":\"7A0D0CA8-0DB8-4E5C-B1B6-8B9FC5480688\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.7\",\"versionEndExcluding\":\"6.12.20\",\"matchCriteriaId\":\"60E9C5DF-D778-4572-848A-5D6CFFE022CA\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\",\"versionStartIncluding\":\"6.13\",\"versionEndExcluding\":\"6.13.8\",\"matchCriteriaId\":\"0A20D4D7-B329-4C68-B662-76062EA7DCF0\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:*\",\"matchCriteriaId\":\"186716B6-2B66-4BD0-852E-D48E71C0C85F\"},{\"vulnerable\":true,\"criteria\":\"cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:*\",\"matchCriteriaId\":\"0D3E781C-403A-498F-9DA9-ECEE50F41E75\"}]}]}],\"references\":[{\"url\":\"https://git.kernel.org/stable/c/7790a79c6fce8d5d552bc64f5c82819f719e4f28\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/c96cce853542b3b13da3738f35ef1be8cfcc9d1d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]},{\"url\":\"https://git.kernel.org/stable/c/f8094625a591eeb0b75b1bd9e713fac1d93f5ca9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"tags\":[\"Patch\"]}]}}",
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-07-30T09:37:17+00:00",
      "cve": "CVE-2025-21969",
      "id": "CVE-2025-21969",
      "initial_release_date": "2025-04-01T00:00:00+00:00",
      "product_status:fixed": "612",
      "product_status:known_affected": "98",
      "product_status:known_not_affected": "14",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2025/cve-2025-21969.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-07-25T01:01:54Z",
      "cve": "CVE-2025-21969",
      "id": "CVE-2025-21969",
      "initial_release_date": "2025-04-05T02:25:18Z",
      "product_status:known_affected": "633",
      "product_status:known_not_affected": "6",
      "product_status:recommended": "557",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2025-21969",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2025-21969.json",
      "version": "53"
    },
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 7.8, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\", \"integrityImpact\": \"HIGH\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"HIGH\", \"privilegesRequired\": \"LOW\", \"confidentialityImpact\": \"HIGH\"}}, {\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-21969\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"total\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-01T17:15:33.042789Z\"}}}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-416\", \"description\": \"CWE-416 Use After Free\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-01T14:38:43.678Z\"}}], \"cna\": {\"title\": \"Bluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 8.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"AV:A - The vulnerable code is fed by `hci_acldata_packet()` from ACL frames received over the air from a Bluetooth peer, so an attacker within Bluetooth radio range of the target can reach it. Bluetooth is scored as Adjacent per kernel CNA guidance.\\nAC:L - The attacker controls both sides of the race \\u2014 flooding L2CAP signalling frames on one side while inducing the connection abort (BT_CONFIG teardown or `hci_conn_timeout` with refcnt 0) on the other \\u2014 and the two paths run on separate workqueues (`hdev-\u003eworkqueue` vs `hdev-\u003ereq_workqueue`). The window is wide because the RX worker sleeps on `conn-\u003echan_lock` and on `bt_skb_alloc(GFP_KERNEL)` while holding the stale pointer; syzbot reproduced it reliably.\\nPR:N - No credentials, pairing, or link-key authentication is required \\u2014 `hci_acldata_packet()` dispatches straight to `l2cap_recv_acldata()`, and `l2cap_sig_channel()` processes signalling PDUs before any authentication takes place. The `l2cap_conn` is allocated during connection setup in `hci_remote_features_evt`, entirely pre-authentication.\\nUI:N - No victim action is needed; the target only has to be connectable, which is the default state for phones, headsets, car kits, and BLE peripherals with Bluetooth enabled. The attacker initiates the ACL connection and drives the entire sequence itself.\\nS:U - The use-after-free corrupts kernel heap memory within the same kernel security authority. No VM, IOMMU, or sandbox boundary is crossed.\\nC:H - The freed `l2cap_conn` is dereferenced for `hcon`, `hchan`, `rx_skb`, and the `chan_l` channel list, and those pointers are chased into further structures and fed to `hci_send_acl()`. Reclaiming the kmalloc-512 object with sprayed data yields an attacker-directed read primitive and leaks kernel memory.\\nI:H - The path performs UAF writes into the freed object (`skb_queue_tail(\u0026conn-\u003epending_rx)`, `conn-\u003erx_len -= len`, `conn-\u003erx_skb = NULL`) and copies attacker-controlled ACL payload through the freed `rx_skb` pointer via `skb_copy_from_linear_data()`. `l2cap_data_channel()` further reaches an indirect `chan-\u003eops-\u003erecv()` call through freed memory, giving a control-flow hijack path to arbitrary code execution.\\nA:H - The use-after-free reliably oopses the kernel, including taking `mutex_lock()` on a freed mutex and dereferencing freed `hcon`/`hchan` pointers inside a workqueue context. A remote peer can trigger it repeatedly to panic the system.\"}]}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"9b3628d79b46f06157affc56fdb218fdd4988321\", \"lessThan\": \"c96cce853542b3b13da3738f35ef1be8cfcc9d1d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"9b3628d79b46f06157affc56fdb218fdd4988321\", \"lessThan\": \"f8094625a591eeb0b75b1bd9e713fac1d93f5ca9\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"9b3628d79b46f06157affc56fdb218fdd4988321\", \"lessThan\": \"7790a79c6fce8d5d552bc64f5c82819f719e4f28\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"9b3628d79b46f06157affc56fdb218fdd4988321\", \"lessThan\": \"b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"995c917d6818b39308ac6baf3f6573cb0486a238\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5.17.14\", \"lessThan\": \"5.18\", \"versionType\": \"semver\"}], \"programFiles\": [\"net/bluetooth/l2cap_core.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.18\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.18\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"6.6.84\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.12.20\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.12.*\"}, {\"status\": \"unaffected\", \"version\": \"6.13.8\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.13.*\"}, {\"status\": \"unaffected\", \"version\": \"6.14\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"net/bluetooth/l2cap_core.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/c96cce853542b3b13da3738f35ef1be8cfcc9d1d\"}, {\"url\": \"https://git.kernel.org/stable/c/f8094625a591eeb0b75b1bd9e713fac1d93f5ca9\"}, {\"url\": \"https://git.kernel.org/stable/c/7790a79c6fce8d5d552bc64f5c82819f719e4f28\"}, {\"url\": \"https://git.kernel.org/stable/c/b4f82f9ed43aefa79bec2504ae8c29be0c0f5d1d\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\nBluetooth: L2CAP: Fix slab-use-after-free Read in l2cap_send_cmd\\n\\nAfter the hci sync command releases l2cap_conn, the hci receive data work\\nqueue references the released l2cap_conn when sending to the upper layer.\\nAdd hci dev lock to the hci receive data work queue to synchronize the two.\\n\\n[1]\\nBUG: KASAN: slab-use-after-free in l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954\\nRead of size 8 at addr ffff8880271a4000 by task kworker/u9:2/5837\\n\\nCPU: 0 UID: 0 PID: 5837 Comm: kworker/u9:2 Not tainted 6.13.0-rc5-syzkaller-00163-gab75170520d4 #0\\nHardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024\\nWorkqueue: hci1 hci_rx_work\\nCall Trace:\\n \u003cTASK\u003e\\n __dump_stack lib/dump_stack.c:94 [inline]\\n dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120\\n print_address_description mm/kasan/report.c:378 [inline]\\n print_report+0x169/0x550 mm/kasan/report.c:489\\n kasan_report+0x143/0x180 mm/kasan/report.c:602\\n l2cap_build_cmd net/bluetooth/l2cap_core.c:2964 [inline]\\n l2cap_send_cmd+0x187/0x8d0 net/bluetooth/l2cap_core.c:954\\n l2cap_sig_send_rej net/bluetooth/l2cap_core.c:5502 [inline]\\n l2cap_sig_channel net/bluetooth/l2cap_core.c:5538 [inline]\\n l2cap_recv_frame+0x221f/0x10db0 net/bluetooth/l2cap_core.c:6817\\n hci_acldata_packet net/bluetooth/hci_core.c:3797 [inline]\\n hci_rx_work+0x508/0xdb0 net/bluetooth/hci_core.c:4040\\n process_one_work kernel/workqueue.c:3229 [inline]\\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\\n kthread+0x2f0/0x390 kernel/kthread.c:389\\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244\\n \u003c/TASK\u003e\\n\\nAllocated by task 5837:\\n kasan_save_stack mm/kasan/common.c:47 [inline]\\n kasan_save_track+0x3f/0x80 mm/kasan/common.c:68\\n poison_kmalloc_redzone mm/kasan/common.c:377 [inline]\\n __kasan_kmalloc+0x98/0xb0 mm/kasan/common.c:394\\n kasan_kmalloc include/linux/kasan.h:260 [inline]\\n __kmalloc_cache_noprof+0x243/0x390 mm/slub.c:4329\\n kmalloc_noprof include/linux/slab.h:901 [inline]\\n kzalloc_noprof include/linux/slab.h:1037 [inline]\\n l2cap_conn_add+0xa9/0x8e0 net/bluetooth/l2cap_core.c:6860\\n l2cap_connect_cfm+0x115/0x1090 net/bluetooth/l2cap_core.c:7239\\n hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline]\\n hci_remote_features_evt+0x68e/0xac0 net/bluetooth/hci_event.c:3726\\n hci_event_func net/bluetooth/hci_event.c:7473 [inline]\\n hci_event_packet+0xac2/0x1540 net/bluetooth/hci_event.c:7525\\n hci_rx_work+0x3f3/0xdb0 net/bluetooth/hci_core.c:4035\\n process_one_work kernel/workqueue.c:3229 [inline]\\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\\n kthread+0x2f0/0x390 kernel/kthread.c:389\\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244\\n\\nFreed by task 54:\\n kasan_save_stack mm/kasan/common.c:47 [inline]\\n kasan_save_track+0x3f/0x80 mm/kasan/common.c:68\\n kasan_save_free_info+0x40/0x50 mm/kasan/generic.c:582\\n poison_slab_object mm/kasan/common.c:247 [inline]\\n __kasan_slab_free+0x59/0x70 mm/kasan/common.c:264\\n kasan_slab_free include/linux/kasan.h:233 [inline]\\n slab_free_hook mm/slub.c:2353 [inline]\\n slab_free mm/slub.c:4613 [inline]\\n kfree+0x196/0x430 mm/slub.c:4761\\n l2cap_connect_cfm+0xcc/0x1090 net/bluetooth/l2cap_core.c:7235\\n hci_connect_cfm include/net/bluetooth/hci_core.h:2057 [inline]\\n hci_conn_failed+0x287/0x400 net/bluetooth/hci_conn.c:1266\\n hci_abort_conn_sync+0x56c/0x11f0 net/bluetooth/hci_sync.c:5603\\n hci_cmd_sync_work+0x22b/0x400 net/bluetooth/hci_sync.c:332\\n process_one_work kernel/workqueue.c:3229 [inline]\\n process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3310\\n worker_thread+0x870/0xd30 kernel/workqueue.c:3391\\n kthread+0x2f0/0x390 kernel/kthread.c:389\\n ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147\\n ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entr\\n---truncated---\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.84\", \"versionStartIncluding\": \"5.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.12.20\", \"versionStartIncluding\": \"5.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.13.8\", \"versionStartIncluding\": \"5.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.14\", \"versionStartIncluding\": \"5.18\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionStartIncluding\": \"5.17.14\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-05T11:55:44.372Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2025-21969\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-05T11:55:44.372Z\", \"dateReserved\": \"2024-12-29T08:45:45.796Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2025-04-01T15:47:03.408Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…