Description
In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel

In send_cancel(), pending mesh_tx objects are removed from the
hdev->mesh_pending list and freed via mesh_send_complete(). However, if
a mesh transmission was already queued onto hdev->cmd_sync_work_list via
mesh_next(), the queued entry retains a raw pointer to mesh_tx.

When hci_cmd_sync_work later processes the entry, it attempts to execute
mesh_send_sync and its destroy callback mesh_send_start_complete using
the already freed mesh_tx pointer, leading to a use-after-free.

Fix this by invoking hci_cmd_sync_dequeue() for mesh_send_sync on the
target mesh_tx before completing it. If the entry is found and dequeued,
its destroy callback will complete and free the object; otherwise,
mesh_send_complete() is called directly.

Additionally, ensure the transmission queue advances after cancellation
or errors. In mesh_send_start_complete(), call mesh_next() on error
unless err is -ECANCELED, because hci_cmd_sync_dequeue() holds
hdev->cmd_sync_work_lock and calling mesh_next() synchronously would
deadlock. Instead, advance the queue in send_cancel() once the lock is
released and if no transmission is in progress.
Published: 2026-10-18
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Use‑after‑free that can lead to kernel memory corruption and privilege escalation or denial of service
Action: Immediate Patch
AI Analysis

Impact

The flaw occurs in the Linux kernel Bluetooth mesh management code. When a mesh transmission is cancelled, the related mesh_tx object is freed, yet a command queued on the sync work list still holds a raw pointer to that freed object. If the cleanup of that queued command later accesses the pointer, a use‑after‑free condition is triggered. This can corrupt kernel memory and may allow an attacker to execute arbitrary code with kernel privileges or crash the system. The vulnerability is exploited through the Bluetooth management interface, likely by sending mesh commands and then cancelling them; the attack path is inferred from the description of send_cancel() and mesh_next().

Affected Systems

All Linux kernel variants, as identified by the kernel vendor and the generic Linux CPE, are affected until the patch is applied. The exact versions prior to the fix are not enumerated in the advisory, so any kernel build shipped before the fix is potentially vulnerable.

Risk and Exploitability

The CVSS score of 4.1 indicates moderate severity, and the EPSS score is reported to be below 1%, suggesting a low likelihood of immediate exploitation. However, because the flaw results in a use‑after‑free in kernel space, an attacker who can drive the vulnerable Bluetooth mesh interface could potentially gain local privilege escalation or cause a denial of service. The vulnerability is not currently listed in the CISA KEV catalog.

Generated by OpenCVE AI on October 23, 2026 at 06:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Install the latest Linux kernel version that includes the patch for the Bluetooth mesh use‑after‑free fix.
  • Reboot the system or reload the Bluetooth modules so the updated kernel code is active.
  • If a kernel upgrade cannot be performed immediately, consider disabling the Bluetooth mesh feature or the entire Bluetooth subsystem to mitigate exposure.

Generated by OpenCVE AI on October 23, 2026 at 06:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4850-1 linux-6.12 security update
History

Fri, 23 Oct 2026 00:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 22 Oct 2026 12:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Sun, 18 Oct 2026 18:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Sun, 18 Oct 2026 15:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel In send_cancel(), pending mesh_tx objects are removed from the hdev->mesh_pending list and freed via mesh_send_complete(). However, if a mesh transmission was already queued onto hdev->cmd_sync_work_list via mesh_next(), the queued entry retains a raw pointer to mesh_tx. When hci_cmd_sync_work later processes the entry, it attempts to execute mesh_send_sync and its destroy callback mesh_send_start_complete using the already freed mesh_tx pointer, leading to a use-after-free. Fix this by invoking hci_cmd_sync_dequeue() for mesh_send_sync on the target mesh_tx before completing it. If the entry is found and dequeued, its destroy callback will complete and free the object; otherwise, mesh_send_complete() is called directly. Additionally, ensure the transmission queue advances after cancellation or errors. In mesh_send_start_complete(), call mesh_next() on error unless err is -ECANCELED, because hci_cmd_sync_dequeue() holds hdev->cmd_sync_work_lock and calling mesh_next() synchronously would deadlock. Instead, advance the queue in send_cancel() once the lock is released and if no transmission is in progress.
Title Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T09:23:00.460Z

Reserved: 2026-09-25T10:25:14.361Z

Link: CVE-2026-98632

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-18T16:17:16.297

Modified: 2026-10-19T10:19:27.457

Link: CVE-2026-98632

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-10-18T00:00:00Z

Links: CVE-2026-98632 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-23T06:45:07Z

Weaknesses
  • CWE-825

    Expired Pointer Dereference