Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < fa6f79bb0009406bb11e6912b53ab7c564d6f06baffected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < 76dc7e0297f6f7ebefc36a69251e3f4a676d9853affected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < 9c32455f490b960efccedd041c7aabb1a04c5cc4affected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < 524e0450dd9a396f99a81b045219b0e2ea0dab57affected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < 8ddf962c76432a10a6cb80042875cbc48a9c056baffected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < 416546cd6a54e9b68f2b91bc680b1ee17dcd77a1affected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < 2e8bba0360d1379bfa8da47c8f5dadbb10a3fba1affected73d1df2a7a1036a1f000e5f0ece6ade3e082b854 to < b5dbb41b212c50c095a4dbee3017a84fe94f033baffected
Linux Linux
Default version status: affected
3.17affected0 to < 3.17unaffected5.10.273 to ≤ 5.10.*unaffected5.15.224 to ≤ 5.15.*unaffected6.1.191 to ≤ 6.1.*unaffected6.6.158 to ≤ 6.6.*unaffected6.12.112 to ≤ 6.12.*unaffected6.18.55 to ≤ 6.18.*unaffected7.2.9 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fa6f79bb0009406bb11e6912b53ab7c564d6f06b ↗
- https://git.kernel.org/stable/c/76dc7e0297f6f7ebefc36a69251e3f4a676d9853 ↗
- https://git.kernel.org/stable/c/9c32455f490b960efccedd041c7aabb1a04c5cc4 ↗
- https://git.kernel.org/stable/c/524e0450dd9a396f99a81b045219b0e2ea0dab57 ↗
- https://git.kernel.org/stable/c/8ddf962c76432a10a6cb80042875cbc48a9c056b ↗
- https://git.kernel.org/stable/c/416546cd6a54e9b68f2b91bc680b1ee17dcd77a1 ↗
- https://git.kernel.org/stable/c/2e8bba0360d1379bfa8da47c8f5dadbb10a3fba1 ↗
- https://git.kernel.org/stable/c/b5dbb41b212c50c095a4dbee3017a84fe94f033b ↗