Skip to main content
← All vulnerabilities
CVE-2026-53255

Bluetooth: MGMT: validate advertising TLV before type checks

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.259, 5.15.210, 6.1.176, 6.6.143, 6.12.94, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: validate advertising TLV before type checks tlv_data_is_valid() reads each advertising data field length from data[i], then inspects data[i + 1] for managed EIR types before checking that the current field still fits inside the supplied buffer. A malformed field whose length byte is the last byte of the buffer can therefore make the parser read one byte past the advertising data. KASAN reported the following when a malformed MGMT_OP_ADD_ADVERTISING request reached that path: BUG: KASAN: vmalloc-out-of-bounds in tlv_data_is_valid() Read of size 1 Call trace: tlv_data_is_valid() add_advertising() hci_mgmt_cmd() hci_sock_sendmsg() Move the existing element-length check before any type-octet inspection so each non-empty element is proven to contain its type byte before the parser looks at data[i + 1].

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in 13ad995071a06570668dd8daab3616c247c72080; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in 06fcbd79c3c360a50f9be9d370769bbd738d0976; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in f7093ac233c1e7f51d125534f46067772a113175; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in 74c08e4db35a476c3462aeb65846f955be732626; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in 18fea1cb0c2599752e908c8217490f73ddd33e00; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in 1a3c8ffbb469859b076445af44bdfa6a711d483e; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in 2a3f3ed9e198ae23c15859ace2f9ca6cfdc35b57; From 2bb36870e8cb29949ef9acec37129cd8e70f1857 · fixed in de23fb62259aa01d294f77238ae3b835eb674413

  • Linux Linux

    4.9

  • KernelLinux

    From 4.9.0 · fixed in 5.10.259; From 5.11.0 · fixed in 5.15.210; From 5.16.0 · fixed in 6.1.176; From 6.2.0 · fixed in 6.6.143; From 6.7.0 · fixed in 6.12.94; From 6.13.0 · fixed in 6.18.36; From 6.19.0 · fixed in 7.0.13

References 8

git.kernel.org