CVE-2026-98738: Bluetooth: Serialize SMP remote OOB data access

Published Oct 18, 2026
·
Updated

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

Bluetooth: Serialize SMP remote OOB data access

buildpairingcmd() 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 buildpairingcmd+0x948/0x9b0 Call Trace: buildpairingcmd+0x948/0x9b0 smprecvcb+0x459f/0x8110 l2caprecvframe+0xf14/0x9190 l2caprecvacldata+0xa64/0xd40 hcirxwork+0x4ca/0x730

Allocated by task 87: hciaddremoteoobdata+0x11d/0x530 addremoteoobdata+0x282/0x400 hcisocksendmsg+0x1033/0x1ea0

Freed by task 93: hciremoteoobdataclear+0x108/0x1c0 removeremoteoobdata+0x198/0x220 hcisocksendmsg+0x1033/0x1ea0

Taking hdev->lock in buildpairingcmd() would recurse for callers that already hold it and invert the device-to-L2CAP lock order on the receive path. Add a per-device remoteooblock 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.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Add a per-device remote_oob_lock and hold it across SMP remote OOB lookup and copying, as well as remote OOB add, remove, and clear operations, to serialize access and prevent concurrent removal or in-place updates during reads.

Event History

Oct 18, 2026
CVE Published
via MITRE·03:47 PM
Data Sourced
via MITRE·03:47 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203