Description
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.
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
8961987f3f5fa2f2618e72304d013c8dd5e604a6 to < fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1affected8961987f3f5fa2f2618e72304d013c8dd5e604a6 to < 290b36f9d1eb9b2f72b40d826f26b4a182ab15f7affected8961987f3f5fa2f2618e72304d013c8dd5e604a6 to < f2ad01f55e07f9531efcea736087e6b8658a3440affected8961987f3f5fa2f2618e72304d013c8dd5e604a6 to < ec4d352747a62c1082f16c11a74b37d6eb85a5a3affected8961987f3f5fa2f2618e72304d013c8dd5e604a6 to < 4bc16db0f11918e07edf9fdcda4a30cf4c9df45caffected8961987f3f5fa2f2618e72304d013c8dd5e604a6 to < c38fbcdc407925c7088f7e5f11c1fff73d2d35a2affected
Linux Linux
Default version status: affected
5.16affected0 to < 5.16unaffected6.1.178 to ≤ 6.1.*unaffected6.6.145 to ≤ 6.6.*unaffected6.12.97 to ≤ 6.12.*unaffected6.18.40 to ≤ 6.18.*unaffected7.1.5 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fc97fc8cf7f53fd3619db63e09050d20a3a0c4b1 ↗
- https://git.kernel.org/stable/c/290b36f9d1eb9b2f72b40d826f26b4a182ab15f7 ↗
- https://git.kernel.org/stable/c/f2ad01f55e07f9531efcea736087e6b8658a3440 ↗
- https://git.kernel.org/stable/c/ec4d352747a62c1082f16c11a74b37d6eb85a5a3 ↗
- https://git.kernel.org/stable/c/4bc16db0f11918e07edf9fdcda4a30cf4c9df45c ↗
- https://git.kernel.org/stable/c/c38fbcdc407925c7088f7e5f11c1fff73d2d35a2 ↗