CVE-2026-98456NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: mgmt: fix race in read_unconf_index_list()
read_unconf_index_list() counts unconfigured controllers before allocating
its response, then checks the device flags again while filling it.
hci_dev_list_lock stabilizes list membership, but it does not serialize the
per-device flags. During asynchronous controller setup, the worker can set
HCI_UNCONFIGURED and clear HCI_SETUP between the two passes. A controller
omitted from the allocation count can then become eligible for the fill
pass, causing an out-of-bounds write to rp->index[].
Allocate space for every device on hci_dev_list. Since list membership
cannot change while hci_dev_list_lock is held, the response remains large
enough regardless of flag transitions. The reported count and response
length still include only eligible unconfigured controllers.
Bluetooth: mgmt: fix race in read_unconf_index_list()
read_unconf_index_list() counts unconfigured controllers before allocating
its response, then checks the device flags again while filling it.
hci_dev_list_lock stabilizes list membership, but it does not serialize the
per-device flags. During asynchronous controller setup, the worker can set
HCI_UNCONFIGURED and clear HCI_SETUP between the two passes. A controller
omitted from the allocation count can then become eligible for the fill
pass, causing an out-of-bounds write to rp->index[].
Allocate space for every device on hci_dev_list. Since list membership
cannot change while hci_dev_list_lock is held, the response remains large
enough regardless of flag transitions. The reported count and response
length still include only eligible unconfigured controllers.
CVSS v3.1 Base Metrics — Score 7.0 (HIGH)
Attack VectorLocal
Attack ComplexityHigh
Privileges RequiredLow
User InteractionNone
ScopeUnchanged
ConfidentialityHigh
IntegrityHigh
AvailabilityHigh
Affected & Patched Versions
Not provided by NVD for this CVE.
Not provided by NVD for this CVE.
External References
- https://git.kernel.org/stable/c/2e8bba0360d1379bfa8da47c8f5dadbb10a3fba1
- https://git.kernel.org/stable/c/416546cd6a54e9b68f2b91bc680b1ee17dcd77a1
- https://git.kernel.org/stable/c/524e0450dd9a396f99a81b045219b0e2ea0dab57
- https://git.kernel.org/stable/c/76dc7e0297f6f7ebefc36a69251e3f4a676d9853
- https://git.kernel.org/stable/c/8ddf962c76432a10a6cb80042875cbc48a9c056b
- https://git.kernel.org/stable/c/9c32455f490b960efccedd041c7aabb1a04c5cc4
- https://git.kernel.org/stable/c/b5dbb41b212c50c095a4dbee3017a84fe94f033b
- https://git.kernel.org/stable/c/fa6f79bb0009406bb11e6912b53ab7c564d6f06b