CVE-2026-98247

Summary

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

Bluetooth: hci_codec: validate vendor codec count length

The Read Local Supported Codecs parsers consume the variable-sized standard codec array before parsing the vendor codec count. Although the initial reply-size check includes a vendor count byte in the fixed layout, it does not guarantee that the byte remains after the standard codec array.

If a controller reply ends immediately after that array, calculating the vendor codec array size reads vnd_codecs->num beyond the skb data. Use skb_pull_data() to validate and consume each codec header before using its count in both command variants.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8961987f3f5fa2f2618e72304d013c8dd5e604a6 < 9c04b9a4d08b95dee901d24b7607c4cbd65fa0a8affected
LinuxLinux8961987f3f5fa2f2618e72304d013c8dd5e604a6 < a6da782fefae611e68a1aa79644065fc8ca5abcdaffected
LinuxLinux8961987f3f5fa2f2618e72304d013c8dd5e604a6 < e4cfd3c4299105237458b27958bd7b0aa4c60795affected
LinuxLinux8961987f3f5fa2f2618e72304d013c8dd5e604a6 < f49a543d76d48f184b34225d9c0e2fc4cbdea8ecaffected
LinuxLinux8961987f3f5fa2f2618e72304d013c8dd5e604a6 < 12a82819b0cada6e304790b1097f8f9006eb6123affected
LinuxLinux8961987f3f5fa2f2618e72304d013c8dd5e604a6 < d0795cfd6f655f4de84868a4f4bb41a03f037b3daffected
LinuxLinux5.16affected
LinuxLinux0 < 5.16unaffected
LinuxLinux6.1.189 <= 6.1.*unaffected
LinuxLinux6.6.158 <= 6.6.*unaffected
LinuxLinux6.12.112 <= 6.12.*unaffected
LinuxLinux6.18.54 <= 6.18.*unaffected
LinuxLinux7.2.8 <= 7.2.*unaffected
LinuxLinux7.3-rc4 <= *unaffected

Weaknesses

References