Bluetooth: hci: validate codec capability element 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.178, 6.6.145, 6.12.97, 6.18.40, 7.1.5
- 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
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci: validate codec capability element length Read Local Codec Capabilities returns a sequence of capability elements. Each element starts with a one-byte length followed by that many payload bytes. hci_read_codec_capabilities() checks that the skb contains the length byte, but then validates only caps->len against the remaining skb length. A malformed controller response with one remaining byte and caps->len set to one passes that check even though the element needs two bytes. The parser then records a two-byte capability and copies one byte beyond the advertised response payload into the codec list. Validate the full element size, including the length byte, before adding it to the accumulated capability length. This preserves all well-formed capability elements and drops only truncated controller responses.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- Linux Linux
From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in 290b36f9d1eb9b2f72b40d826f26b4a182ab15f7; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in f2ad01f55e07f9531efcea736087e6b8658a3440; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in ec4d352747a62c1082f16c11a74b37d6eb85a5a3; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in 4bc16db0f11918e07edf9fdcda4a30cf4c9df45c; From 8961987f3f5fa2f2618e72304d013c8dd5e604a6 · fixed in c38fbcdc407925c7088f7e5f11c1fff73d2d35a2
- Linux Linux
5.16
- KernelLinux
From 5.16.0 · fixed in 6.1.178; From 6.2.0 · fixed in 6.6.145; From 6.7.0 · fixed in 6.12.97; From 6.13.0 · fixed in 6.18.40; From 6.19.0 · fixed in 7.1.5