{"id":"CVE-2026-31497","summary":"Bluetooth: btusb: clamp SCO altsetting table indices","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nBluetooth: btusb: clamp SCO altsetting table indices\n\nbtusb_work() maps the number of active SCO links to USB alternate\nsettings through a three-entry lookup table when CVSD traffic uses\ntransparent voice settings. The lookup currently indexes alts[] with\ndata-\u003esco_num - 1 without first constraining sco_num to the number of\navailable table entries.\n\nWhile the table only defines alternate settings for up to three SCO\nlinks, data-\u003esco_num comes from hci_conn_num() and is used directly.\nCap the lookup to the last table entry before indexing it so the\ndriver keeps selecting the highest supported alternate setting without\nreading past alts[].","modified":"2026-06-18T03:56:31.892350869Z","published":"2026-04-22T13:54:19.051Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31497.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/1019028eb124564cf7bca58a16f1df8a1ca30726"},{"type":"WEB","url":"https://git.kernel.org/stable/c/129fa608b6ad08b8ab7178eeb2ec272c993aaccc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/21c254202f9d78abe0fcd642a92966deb92bd226"},{"type":"WEB","url":"https://git.kernel.org/stable/c/312c4450fe23014665c163f480edd5ad2e27bbb8"},{"type":"WEB","url":"https://git.kernel.org/stable/c/476c9262b430c38c6a701a3b8176a3f48689085b"},{"type":"WEB","url":"https://git.kernel.org/stable/c/6fba3c3d48c927e55611a0f5ea34da88138ed0ff"},{"type":"WEB","url":"https://git.kernel.org/stable/c/834cf890d2c3d29cbfa1ee2376c40469c28ec297"},{"type":"WEB","url":"https://git.kernel.org/stable/c/9dd13a8641de79bc1bc93da55cdd35259a002683"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/31xxx/CVE-2026-31497.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31497"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"baac6276c0a9f36f1fe1f00590ef00d2ba5ba626"},{"fixed":"312c4450fe23014665c163f480edd5ad2e27bbb8"},{"fixed":"9dd13a8641de79bc1bc93da55cdd35259a002683"},{"fixed":"476c9262b430c38c6a701a3b8176a3f48689085b"},{"fixed":"6fba3c3d48c927e55611a0f5ea34da88138ed0ff"},{"fixed":"834cf890d2c3d29cbfa1ee2376c40469c28ec297"},{"fixed":"1019028eb124564cf7bca58a16f1df8a1ca30726"},{"fixed":"21c254202f9d78abe0fcd642a92966deb92bd226"},{"fixed":"129fa608b6ad08b8ab7178eeb2ec272c993aaccc"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-31497.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.8.0"},{"fixed":"5.10.253"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.11.0"},{"fixed":"5.15.203"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.168"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.131"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.80"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.21"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"6.19.11"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-31497.json"}}],"schema_version":"1.7.5"}