CVE-2026-72337

Bluetooth: 6lowpan: avoid untracked enable work

State
Published
Severity
Not scored
Published
Aug 15, 2026
Updated
Oct 30, 2026
Reserved
Aug 9, 2026

Read the record on cve.org

Description

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

Bluetooth: 6lowpan: avoid untracked enable work

lowpan_enable_set() allocates a temporary work item and schedules do_enable_set() on system_wq, then returns to debugfs. The debugfs active operation has ended at that point, but the worker still executes module text and manipulates enable_6lowpan and listen_chan.

bt_6lowpan_exit() removes the debugfs files and immediately closes and puts listen_chan. It has no pointer to the queued work item, so it cannot cancel or flush it before tearing down the state that the worker uses.

The buggy scenario involves two paths, with each column showing the order within that path:

debugfs enable write module exit 1. lowpan_enable_set() allocates 1. bt_6lowpan_exit() removes set_enable work the debugfs file 2. schedule_work() queues 2. bt_6lowpan_exit() closes do_enable_set() and puts listen_chan 3. the write operation returns 3. module teardown can continue 4. do_enable_set() later runs against stale state

Run the enable state transition synchronously in lowpan_enable_set() instead. The simple debugfs setter can sleep, and this file already handles the 6LoWPAN control write synchronously under the same set_lock. Once the setter returns, debugfs removal covers the whole operation and exit can no longer race with an untracked work item.

Validation reproduced this kernel report: BUG: KASAN: slab-use-after-free in do_enable_set+0x113/0x2e0 Workqueue: events do_enable_set [bluetooth_6lowpan] The buggy address belongs to the object at ffff888109cb8000

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 90305829635d90a5053ec99a261035b4ce0a2649 to before 4137ad60d23ace43c7fc857bd12167750c85e89dAffected
  • 90305829635d90a5053ec99a261035b4ce0a2649 to before 333a39f134dd0bc614ef6658e9ccd448080443d1Affected
  • 90305829635d90a5053ec99a261035b4ce0a2649 to before 9061d0c19e97bb8d0aa235d0a571a5d6d0be7477Affected
  • 90305829635d90a5053ec99a261035b4ce0a2649 to before 31cc289d5b179a37be439043306f518376a58187Affected
  • 90305829635d90a5053ec99a261035b4ce0a2649 to before feb3fc2c38ed52003142f31e04109719b200c049Affected
  • 90305829635d90a5053ec99a261035b4ce0a2649 to before 352a59dc1f4a41314b6f827c17e16af7ca88271aAffected
LinuxLinux
  • 3.19Affected
  • before 3.19Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.160 through 6.6.*Not affected
  • 6.12.114 through 6.12.*Not affected
  • 6.18.57 through 6.18.*Not affected
  • 7.1.5 through 7.1.*Not affected
  • 7.2 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.