CVE-2026-98632

CVE-2026-98632

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
6.3
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00172 · 6.3th percentile
Published
2026-10-18T20:17Z
References (6)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:19Z
    Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel
    cvelistv5
  • 18 OCT 15:19Z
    Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel
    cvelistv5