In the Linux kernel, the following vulnerability has been resolved:
wifi: brcmfmac: fix use-after-free when rescheduling brcmf_btcoex_info work
The brcmf_btcoex_detach() only shuts down the btcoex timer, if the flag timer_on is false. However, the brcmf_btcoex_timerfunc(), which runs as timer handler, sets timer_on to false. This creates critical race conditions:
1.If brcmf_btcoex_detach() is called while brcmf_btcoex_timerfunc() is executing, it may observe timer_on as false and skip the call to timer_shutdown_sync().
2.The brcmf_btcoex_timerfunc() may then reschedule the brcmf_btcoex_info worker after the cancel_work_sync() has been executed, resulting in use-after-free bugs.
The use-after-free bugs occur in two distinct scenarios, depending on the timing of when the brcmf_btcoex_info struct is freed relative to the execution of its worker thread.
Scenario 1: Freed before the worker is scheduled
The brcmf_btcoex_info is deallocated before the worker is scheduled. A race condition can occur when schedule_work(&bt_local->work) is called after the target memory has been freed. The sequence of events is detailed below:
CPU0 | CPU1 brcmf_btcoex_detach | brcmf_btcoex_timerfunc | bt_local->timer_on = false; if (cfg->btcoex->timer_on) | ... | cancel_work_sync(); | ... | kfree(cfg->btcoex); // FREE | | schedule_work(&bt_local->work); // USE
Scenario 2: Freed after the worker is scheduled
The brcmf_btcoex_info is freed after the worker has been scheduled but before or during its execution. In this case, statements within the brcmf_btcoex_handler() — such as the container_of macro and subsequent dereferences of the brcmf_btcoex_info object will cause a use-after-free access. The following timeline illustrates this scenario:
CPU0 | CPU1 brcmf_btcoex_detach | brcmf_btcoex_timerfunc | bt_local->timer_on = false; if (cfg->btcoex->timer_on) | ... | cancel_work_sync(); | ... | schedule_work(); // Reschedule | kfree(cfg->btcoex); // FREE | brcmf_btcoex_handler() // Worker /* | btci = container_of(....); // USE The kfree() above could | ... also occur at any point | btci-> // USE during the worker's execution| */ |
To resolve the race conditions, drop the conditional check and call timer_shutdown_sync() directly. It can deactivate the timer reliably, regardless of its current state. Once stopped, the timer_on state is then set to false.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | May 3, 2026 | May 3, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Nov 11, 2025 | Sep 19, 2025 |
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Sep 19, 2025 |
| Suse | — | Upgrade kernel-devel-rtUpgrade kernel-rt-livepatchUpgrade ocfs2-kmp-azureUpgrade dtb-amdUpgrade kernel-zfcpdumpUpgrade kernel-source-azureUpgrade kernel-default-extraUpgrade reiserfs-kmp-defaultUpgrade dtb-mediatekUpgrade dlm-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-rt-develUpgrade kernel-64kb-develUpgrade kernel-devel-azureUpgrade kernel-syms-rtUpgrade kselftests-kmp-64kbUpgrade kernel-syms-azureUpgrade dtb-armUpgrade kernel-64kb-optionalUpgrade kernel-rt-livepatch-develUpgrade kernel-debug-develUpgrade kernel-default-vdsoUpgrade kernel-64kbUpgrade dtb-renesasUpgrade dtb-exynosUpgrade kernel-azure-vdsoUpgrade kernel-macrosUpgrade cluster-md-kmp-rtUpgrade kernel-symsUpgrade dtb-amlogicUpgrade cluster-md-kmp-defaultUpgrade dtb-amazonUpgrade kernel-default-manUpgrade dtb-apmUpgrade kernel-rt_debug-vdsoUpgrade kernel-sourceUpgrade kernel-debugUpgrade kernel-kvmsmall-develUpgrade kernel-obs-qaUpgrade dtb-appleUpgrade kernel-default-develUpgrade kselftests-kmp-defaultUpgrade dtb-hisiliconUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-azureUpgrade dtb-socionextUpgrade gfs2-kmp-rtUpgrade dtb-xilinxUpgrade dtb-lgUpgrade gfs2-kmp-64kbUpgrade kernel-kvmsmallUpgrade dtb-freescaleUpgrade ocfs2-kmp-rtUpgrade kernel-azure-extraUpgrade kernel-develUpgrade dtb-caviumUpgrade kernel-rt_debug-develUpgrade kernel-docs-htmlUpgrade kernel-debug-vdsoUpgrade kernel-rt-optionalUpgrade kernel-obs-buildUpgrade kernel-docsUpgrade kernel-azureUpgrade dlm-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade kernel-rt_debugUpgrade reiserfs-kmp-rtUpgrade kernel-default-livepatch-develUpgrade kernel-rtUpgrade kernel-rt-vdsoUpgrade reiserfs-kmp-azureUpgrade dtb-rockchipUpgrade dtb-broadcomUpgrade dtb-alteraUpgrade kernel-64kb-extraUpgrade kernel-default-livepatchUpgrade kernel-default-baseUpgrade kernel-azure-develUpgrade ocfs2-kmp-defaultUpgrade kernel-defaultUpgrade dlm-kmp-rtUpgrade kselftests-kmp-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-azure-optionalUpgrade gfs2-kmp-defaultUpgrade dtb-allwinnerUpgrade kernel-source-rtUpgrade dtb-qcomUpgrade dtb-marvellUpgrade kselftests-kmp-azureUpgrade dtb-nvidiaUpgrade kernel-default-base-rebuildUpgrade gfs2-kmp-azureUpgrade dtb-sprdUpgrade reiserfs-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-vdso | Dec 5, 2025 | Oct 15, 2025 |
| Ubuntu | — | Upgrade linux-image-fips-5.15Upgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-azure-6.8Upgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-gcpUpgrade linux-image-aws-5.15Upgrade linux-image-intelUpgrade linux-image-aws-64kUpgrade linux-image-lowlatency-5.15Upgrade linux-image-xilinxUpgrade linux-image-5.15.0-198-generic-lpaeUpgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-raspi-6.8Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-6.8.0-106-fipsUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-raspi-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-ibm-5.15Upgrade linux-image-5.15.0-1118-gcp-fipsUpgrade linux-image-intel-iotgUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-198-generic-64kUpgrade linux-image-azure-5.15Upgrade linux-image-5.15.0-1112-nvidia-lowlatencyUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-realtime-5.15Upgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1111-ibmUpgrade linux-image-5.15.0-198-fipsUpgrade linux-image-oracle-64kUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-5.15.0-1112-nvidiaUpgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-5.15.0-1117-aws-64kUpgrade linux-image-nvidia-5.15Upgrade linux-image-azure-lts-22.04Upgrade linux-image-azureUpgrade linux-image-fipsUpgrade linux-image-genericUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-198-genericUpgrade linux-image-5.15.0-1123-azureUpgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-oem-20.04Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-5.15.0-195-lowlatencyUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-gkeUpgrade linux-image-gke-64k-6.8Upgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1113-gkeUpgrade linux-image-lowlatencyUpgrade linux-image-oem-22.04Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-oem-20.04bUpgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-5.15.0-1116-realtimeUpgrade linux-image-gke-6.8Upgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-1114-oracleUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-oem-22.04aUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-azure-fips-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-22.04dUpgrade linux-image-aws-fips-6.8Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-64kUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gke-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-64k-5.15Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-5.15.0-1117-aws-fipsUpgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1080-xilinx-zynqmpUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-5.15.0-1109-kvmUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-fips-6.8Upgrade linux-image-aws-fips-5.15Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-virtual-5.15Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-ibmUpgrade linux-image-oracle-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-ibm-6.8Upgrade linux-image-generic-64k-6.8Upgrade linux-image-5.15.0-1118-gcpUpgrade linux-image-5.15.0-1109-intel-iot-realtimeUpgrade linux-image-generic-6.8Upgrade linux-image-azure-fipsUpgrade linux-image-kvmUpgrade linux-image-awsUpgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-raspiUpgrade linux-image-5.15.0-1122-azure-fdeUpgrade linux-image-5.15.0-1100-gkeopUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-gcp-6.8Upgrade linux-image-6.8.0-1050-awsUpgrade linux-image-aws-lts-22.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-lowlatency-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-azure-fde-5.15Upgrade linux-image-5.15.0-195-lowlatency-64kUpgrade linux-image-gcp-fipsUpgrade linux-image-oracleUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-realtimeUpgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-gcp-5.15Upgrade linux-image-aws-64k-5.15Upgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-5.15.0-1123-azure-fipsUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-generic-5.15Upgrade linux-image-oem-22.04bUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1112-intel-iotgUpgrade linux-image-5.15.0-1117-awsUpgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-aws-64k-6.8Upgrade linux-image-aws-fipsUpgrade linux-image-azure-cvmUpgrade linux-image-azure-lts-24.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-oracle-5.15 | Mar 17, 2026 | Sep 19, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 22, 2026 | Sep 19, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub