Bluetooth: hci_codec: validate vendor codec count length
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.1.189, 6.6.158, 6.12.112, 6.18.54, 7.2.8
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in 9c04b9a4d08b95dee901d24b7607c4cbd65fa0a8; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in a6da782fefae611e68a1aa79644065fc8ca5abcd; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in e4cfd3c4299105237458b27958bd7b0aa4c60795; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in f49a543d76d48f184b34225d9c0e2fc4cbdea8ec; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in 12a82819b0cada6e304790b1097f8f9006eb6123; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in d0795cfd6f655f4de84868a4f4bb41a03f037b3d
- Linux Linux
5.16
- KernelLinux
From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8