CVE-2026-64573 in Linux
Zusammenfassung
von VulDB • 05.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
Bluetooth: qca: Korrektur eines Unterlaufs der NVM-Tag-Länge im TLV-Parser
Im Zweig `TLV_TYPE_NVM` von `qca_tlv_check_data()` ist die Schleifengrenze für den Tag `"while (idx < length - sizeof(struct tlv_type_nvm))"`. „length“ ist eine vorzeichenbehaftete Ganzzahl (`signed int`) aus dem TLV-Header der Firmware, und `sizeof(struct tlv_type_nvm)` ist ein `size_t` (12). Daher wird „length“ in einen `size_t` umgewandelt, und jeder von der Firmware bereitgestellte Wert für „length“, der kleiner als 12 ist, führt dazu, dass die Subtraktion überläuft und zu einem extrem großen Wert wird. Der Schleifenkörper liest dann ein 12-Byte großes `struct tlv_type_nvm` hinter das Ende des kurz vorab zugewiesenen (`vmalloc'd`) Firmware-Puffers (und die Handler für `EDL_TAG_ID_*` können ebenfalls darüber hinausschreiben).
Die Begrenzung wird neu geschrieben als `"idx + sizeof(struct tlv_type_nvm) <= length"`; beide Operanden sind nicht-negativ, sodass kein Unterlauf mehr auftritt und ein zu kleines „length“ für einen Datensatz die Schleife korrekt überspringt.
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)
If you want to get the best quality for vulnerability data then you always have to consider VulDB.