CVE-2026-53255
N/A
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].
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < 13ad995071a06570668dd8daab3616c247c72080 | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < 06fcbd79c3c360a50f9be9d370769bbd738d0976 | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < f7093ac233c1e7f51d125534f46067772a113175 | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < 74c08e4db35a476c3462aeb65846f955be732626 | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < 18fea1cb0c2599752e908c8217490f73ddd33e00 | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < 1a3c8ffbb469859b076445af44bdfa6a711d483e | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < 2a3f3ed9e198ae23c15859ace2f9ca6cfdc35b57 | affected |
| Linux | Linux | 2bb36870e8cb29949ef9acec37129cd8e70f1857 < de23fb62259aa01d294f77238ae3b835eb674413 | affected |
| Linux | Linux | 4.9 | affected |
| Linux | Linux | 0 < 4.9 | unaffected |
| Linux | Linux | 5.10.259 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.210 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.176 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.143 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.94 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.36 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.13 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/13ad995071a06570668dd8daab3616c247c72080
- https://git.kernel.org/stable/c/06fcbd79c3c360a50f9be9d370769bbd738d0976
- https://git.kernel.org/stable/c/f7093ac233c1e7f51d125534f46067772a113175
- https://git.kernel.org/stable/c/74c08e4db35a476c3462aeb65846f955be732626
- https://git.kernel.org/stable/c/18fea1cb0c2599752e908c8217490f73ddd33e00
- https://git.kernel.org/stable/c/1a3c8ffbb469859b076445af44bdfa6a711d483e
- https://git.kernel.org/stable/c/2a3f3ed9e198ae23c15859ace2f9ca6cfdc35b57
- https://git.kernel.org/stable/c/de23fb62259aa01d294f77238ae3b835eb674413
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.