In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: avoid NULL pointer dereference in skbdequeue() A NULL pointer dereference can occur in skbdequeue() when processing a QCA firmware crash dump on WCN7851 (0489:e0f3). [ 93.672166] Bluetooth: hci0: ACL memdump size(589824) [ 93.672475] BUG: kernel NULL pointer dereference, address: 0000000000000008 [ 93.672517] Workqueue: hci0 hcidevcdrx [bluetooth] [ 93.672598] RIP: 0010:skbdequeue+0x50/0x80 The issue stems from handledumppktqca() returning 0 even when a dump packet is successfully processed. This is because it incorrectly forwards the return value of hcidevcdinit() (which returns 0 on success). As a result, the caller (btusbrecvaclqca() or btusbrecvevtqca()) assumes the packet was not handled and passes it to hcirecvframe(), leading to premature kfree() of the skb. Later, hcidevcdrx() attempts to dequeue the same skb from the dump queue, resulting in a NULL pointer dereference. Fix this by: 1. Making handledumppkt_qca() return 0 on success and negative errno on failure, consistent with kernel conventions. 2. Splitting dump packet detection into separate functions for ACL and event packets for better structure and readability. This ensures dump packets are properly identified and consumed, avoiding double handling and preventing NULL pointer access.
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-headers-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.14.0-1006-oem-dbgsym", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-ipu6-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-ipu7-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-iwlwifi-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-usbio-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-vision-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-oem-6.14-headers-6.14.0-1006", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-oem-6.14-tools-6.14.0-1006", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-tools-6.14.0-1006-oem", "binary_version": "6.14.0-1006.6" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-headers-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-image-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-image-6.14.0-24-generic-dbgsym", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-modules-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-riscv-6.14-headers-6.14.0-24", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-riscv-6.14-tools-6.14.0-24", "binary_version": "6.14.0-24.24.1~24.04.1" }, { "binary_name": "linux-tools-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1~24.04.1" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "bpftool", "binary_version": "7.6.0+6.14.0-24.24" }, { "binary_name": "linux-bpf-dev", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-buildinfo-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-buildinfo-6.14.0-24-generic-64k", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-cloud-tools-6.14.0-24", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-cloud-tools-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-cloud-tools-common", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-doc", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-headers-6.14.0-24", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-headers-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-headers-6.14.0-24-generic-64k", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-image-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-image-6.14.0-24-generic-dbgsym", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-image-unsigned-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-image-unsigned-6.14.0-24-generic-64k", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-image-unsigned-6.14.0-24-generic-64k-dbgsym", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-image-unsigned-6.14.0-24-generic-dbgsym", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-lib-rust-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-libc-dev", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-6.14.0-24-generic-64k", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-extra-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-ipu6-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-ipu7-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-iwlwifi-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-usbio-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-modules-vision-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-perf", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-source-6.14.0", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-tools-6.14.0-24", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-tools-6.14.0-24-generic", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-tools-6.14.0-24-generic-64k", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-tools-common", "binary_version": "6.14.0-24.24" }, { "binary_name": "linux-tools-host", "binary_version": "6.14.0-24.24" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1011-gcp", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-buildinfo-6.14.0-1011-gcp-64k", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-gcp-headers-6.14.0-1011", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-gcp-tools-6.14.0-1011", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-headers-6.14.0-1011-gcp", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-headers-6.14.0-1011-gcp-64k", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-image-unsigned-6.14.0-1011-gcp", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-image-unsigned-6.14.0-1011-gcp-64k", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-image-unsigned-6.14.0-1011-gcp-64k-dbgsym", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-image-unsigned-6.14.0-1011-gcp-dbgsym", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-modules-6.14.0-1011-gcp", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-modules-6.14.0-1011-gcp-64k", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-modules-extra-6.14.0-1011-gcp", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-modules-extra-6.14.0-1011-gcp-64k", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-tools-6.14.0-1011-gcp", "binary_version": "6.14.0-1011.11" }, { "binary_name": "linux-tools-6.14.0-1011-gcp-64k", "binary_version": "6.14.0-1011.11" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1009-raspi", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-headers-6.14.0-1009-raspi", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-image-6.14.0-1009-raspi", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-image-6.14.0-1009-raspi-dbgsym", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-modules-6.14.0-1009-raspi", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-raspi-headers-6.14.0-1009", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-raspi-tools-6.14.0-1009", "binary_version": "6.14.0-1009.9" }, { "binary_name": "linux-tools-6.14.0-1009-raspi", "binary_version": "6.14.0-1009.9" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-cloud-tools-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-headers-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-image-unsigned-6.14.0-1006-realtime-dbgsym", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-extra-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-modules-iwlwifi-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-realtime-cloud-tools-6.14.0-1006", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-realtime-headers-6.14.0-1006", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-realtime-tools-6.14.0-1006", "binary_version": "6.14.0-1006.6" }, { "binary_name": "linux-tools-6.14.0-1006-realtime", "binary_version": "6.14.0-1006.6" } ] }
{ "availability": "No subscription required", "binaries": [ { "binary_name": "linux-buildinfo-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-headers-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-image-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-image-6.14.0-24-generic-dbgsym", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-modules-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-riscv-headers-6.14.0-24", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-riscv-tools-6.14.0-24", "binary_version": "6.14.0-24.24.1" }, { "binary_name": "linux-tools-6.14.0-24-generic", "binary_version": "6.14.0-24.24.1" } ] }