CVE-2026-98632

Bluetooth: mgmt: Dequeue pending mesh_send_sync entries on cancel

State
Published
Severity
Not scored
Published
Oct 18, 2026
Updated
Oct 19, 2026
Reserved
Sep 25, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b338d91703fae6f6afd67f3f75caa3b8f36ddef3 to before f84e52829021d00bca8e067302f597c71af1f71aAffected
  • b338d91703fae6f6afd67f3f75caa3b8f36ddef3 to before 718a8ffa180d469f99ad4f746f00cafd39456415Affected
  • b338d91703fae6f6afd67f3f75caa3b8f36ddef3 to before 084be90948632a5a358821e687b11a14445aae76Affected
  • b338d91703fae6f6afd67f3f75caa3b8f36ddef3 to before 2189a219397d8e73808a67c4aade837b635705daAffected
  • b338d91703fae6f6afd67f3f75caa3b8f36ddef3 to before 03ced4687fb79286be7fdee0fc58d2c74de3e7bbAffected
  • b338d91703fae6f6afd67f3f75caa3b8f36ddef3 to before 71af682ba4692c2ed9ace4c3d4ca462ae368c029Affected
LinuxLinux
  • 6.1Affected
  • before 6.1Not affected
  • 6.1.189 through 6.1.*Not affected
  • 6.6.158 through 6.6.*Not affected
  • 6.12.112 through 6.12.*Not affected
  • 6.18.55 through 6.18.*Not affected
  • 7.2.9 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.