PT-2026-116957 · Linux · Linux
CVE-2026-98738
·
Published
2026-10-18
·
Updated
2026-10-18
None
No severity ratings or metrics are available. When they are, we'll update the corresponding info on the page.
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: Serialize SMP remote OOB data access
build pairing cmd() looks up remote OOB data and copies its contents
without holding hdev->lock, which serializes the list's writers. After
SMP finds an entry, a concurrent management Remove Remote OOB Data
command can unlink and free it before SMP reads its present flag or
copies its random and confirmation values. Removal can also invalidate
an entry while the lookup is still traversing the list.
KASAN reported:
BUG: KASAN: slab-use-after-free in build pairing cmd+0x948/0x9b0
Call Trace:
build pairing cmd+0x948/0x9b0
smp recv cb+0x459f/0x8110
l2cap recv frame+0xf14/0x9190
l2cap recv acldata+0xa64/0xd40
hci rx work+0x4ca/0x730
Allocated by task 87:
hci add remote oob data+0x11d/0x530
add remote oob data+0x282/0x400
hci sock sendmsg+0x1033/0x1ea0
Freed by task 93:
hci remote oob data clear+0x108/0x1c0
remove remote oob data+0x198/0x220
hci sock sendmsg+0x1033/0x1ea0
Taking hdev->lock in build pairing cmd() would recurse for callers that
already hold it and invert the device-to-L2CAP lock order on the receive
path. Add a per-device remote oob lock instead, held across the SMP
lookup and copies and by the add, remove and clear helpers. Cover
initialization and in-place updates as well, so SMP cannot read partially
initialized or updated OOB values. Release the mutex on allocation
failure, preserving the existing error return.
The new critical sections acquire no device, connection or channel locks.
Writers retain their existing hdev->lock protection, which continues to
serialize the other readers without changing their locking or behavior.
Found an issue in the description? Have something to add? Feel free to write us 👾
Related Identifiers
Affected Products
Linux