-

CVE-2026-64573

Bluetooth: qca: fix NVM tag length underflow in TLV parser

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: qca: fix NVM tag length underflow in TLV parser

In the TLV_TYPE_NVM branch of qca_tlv_check_data() the tag loop bound is
"while (idx < length - sizeof(struct tlv_type_nvm))". "length" is a signed
int from the firmware TLV header and sizeof(struct tlv_type_nvm) is a
size_t (12), so "length" is converted to size_t and any firmware-supplied
"length" < 12 makes the subtraction wrap to a huge value. The loop body
then reads a 12-byte struct tlv_type_nvm past the end of the short
vmalloc'd firmware buffer (and the EDL_TAG_ID_* handlers can write past it).

Rewrite the bound as "idx + sizeof(struct tlv_type_nvm) <= length"; both
operands are non-negative, so it no longer underflows and a "length" too
small for one record correctly skips the loop.

  BUG: KASAN: vmalloc-out-of-bounds in qca_download_firmware.isra.0 (drivers/bluetooth/btqca.c:421)
  Read of size 2 at addr ffffc900000e5004 by task kworker/u9:0/52
  Workqueue: hci0 hci_power_on
  Call Trace:
   ...
   kasan_report (mm/kasan/report.c:595)
   qca_download_firmware.isra.0 (drivers/bluetooth/btqca.c:421 drivers/bluetooth/btqca.c:617)
   qca_uart_setup (drivers/bluetooth/btqca.c:948)
   qca_setup (drivers/bluetooth/hci_qca.c:2029)
   hci_uart_setup (drivers/bluetooth/hci_ldisc.c:438)
   hci_dev_open_sync (net/bluetooth/hci_sync.c:5227)
   hci_power_on (net/bluetooth/hci_core.c:920)
   process_one_work (kernel/workqueue.c:3322)
   worker_thread (kernel/workqueue.c:3486)
   kthread (kernel/kthread.c:436)
   ret_from_fork (arch/x86/kernel/process.c:158)
   ret_from_fork_asm (arch/x86/entry/entry_64.S:245)
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
Produkt Linux
Default Statusunaffected
Version ed53949cc92e28aaa3463d246942bda1fbb7f307
Version < a7ee11441d71ab036a705d110a415421f5a4a898
Status affected
Version 1caceadfb50432dbf6d808796cb6c34ebb6d662c
Version < 5d34e537755d2f9eba2d4e54d70126f987ef20b4
Status affected
Version 427281f9498ed614f9aabc80e46ec077c487da6d
Version < 70354dbb5f72d9a76da7b031de3cbaf6c7d8fc24
Status affected
Version 2e4edfa1e2bd821a317e7d006517dcf2f3fac68d
Version < 59fd2f075bca94f030c7c78e94878ea0803d7690
Status affected
Version 2e4edfa1e2bd821a317e7d006517dcf2f3fac68d
Version < a087ed960fce54e9302796229e9d545bbc9bcd4a
Status affected
Version 2e4edfa1e2bd821a317e7d006517dcf2f3fac68d
Version < 4fcfb5b2c736785464ff9745f94c6726c5ee2d85
Status affected
Version 2e4edfa1e2bd821a317e7d006517dcf2f3fac68d
Version < c90164ca0f7036942ba088eb7ea8d3f6c2352020
Status affected
Version 02f05ed44b71152d5e11d29be28aed91c0489b4e
Status affected
Version 5.15.159
Version < 5.15.216
Status affected
Version 6.1.91
Version < 6.1.183
Status affected
Version 6.6.31
Version < 6.6.148
Status affected
Version 6.8.10
Version < 6.9
Status affected
HerstellerLinux
Produkt Linux
Default Statusaffected
Version 6.9
Status affected
Version 0
Version < 6.9
Status unaffected
Version <= 5.15.*
Version 5.15.216
Status unaffected
Version <= 6.1.*
Version 6.1.183
Status unaffected
Version <= 6.6.*
Version 6.6.148
Status unaffected
Version <= 6.12.*
Version 6.12.101
Status unaffected
Version <= 6.18.*
Version 6.18.42
Status unaffected
Version <= 7.1.*
Version 7.1.6
Status unaffected
Version <= *
Version 7.2
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.16% 0.058
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/70354dbb5f72d9a76da7b031de3cbaf6c7d8fc24
https://git.kernel.org/stable/c/59fd2f075bca94f030c7c78e94878ea0803d7690
https://git.kernel.org/stable/c/a087ed960fce54e9302796229e9d545bbc9bcd4a
https://git.kernel.org/stable/c/4fcfb5b2c736785464ff9745f94c6726c5ee2d85
https://git.kernel.org/stable/c/c90164ca0f7036942ba088eb7ea8d3f6c2352020
https://git.kernel.org/stable/c/5d34e537755d2f9eba2d4e54d70126f987ef20b4
https://git.kernel.org/stable/c/a7ee11441d71ab036a705d110a415421f5a4a898