CVE-2025-38292
NoneCVSS
—
EPSS
0.3%
Published
Jul 10, 2025
CISA due date
—
Cloudanix analysis
A memory-handling mistake in the Linux kernel's WiFi driver can cause crashes or open the door to attacks on computers using certain wireless chips.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Moderate
- Impact
- Privilege Gain
- Component
- OS kernel
- Class
- Use After Free
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Use-after-free in ath12k_dp_rx_msdu_coalesce() where rxcb->is_continuation is accessed after the skb has been freed, allowing invalid memory access in the Linux kernel WiFi receive path.
Why it matters to the business
Affected Linux systems with ath12k hardware risk kernel instability, crashes, or potential escalation; widespread kernel deployments and rising exploit interest amplify exposure for organizations relying on these drivers.
How an attack unfolds
An attacker triggers specific MSDU coalescing conditions in the ath12k receive path to free an skb while a reference remains, then reuses the freed memory; observed threat actors in related Linux kernel privilege-escalation campaigns demonstrate similar patterns that could be adapted.
How to fix it
Upgrade linux-lts to 6.6.58-r0 or later; apply commit 371b340affa52f280f6eadfd25fbd43f09f0d5c0 from the stable Linux git tree; rebuild and reboot affected kernels.
How to confirm the fix worked
Confirm kernel version or git commit after upgrade; recompile with the patch and verify ath12k_dp_rx_msdu_coalesce() no longer accesses freed rxcb fields.
Typical attack path
- Identify target systems running vulnerable ath12k-enabled kernels
- Send crafted 802.11 frames that exercise ath12k_dp_rx_msdu_coalesce()
- Force skb free while is_continuation field is later dereferenced
- Leverage resulting UAF for memory corruption or control-flow hijack
How to detect it
Review kernel crash logs and oops reports for ath12k receive-path dereferences after free; correlate with wireless frame capture timestamps and look for patterns matching known spyware or privilege-escalation toolkits targeting similar kernel flaws.
What your security team should do
- Prioritize patching Linux kernels containing ath12k to the listed fixed versions within standard change windows
- Monitor EPSS trend and related privilege-escalation campaigns for acceleration signals
- Restrict wireless interfaces on high-value systems until patches are deployed
- Include the fixed commit in automated kernel build pipelines
The record
In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: fix invalid access to memory In ath12k_dp_rx_msdu_coalesce(), rxcb is fetched from skb and boolean is_continuation is part of rxcb. Currently, after freeing the skb, the rxcb->is_continuation accessed again which is wrong since the memory is already freed. This might lead use-after-free error. Hence, fix by locally defining bool is_continuation from rxcb, so that after freeing skb, is_continuation can be used. Compile tested only.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:9 | kernel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-devel-matched | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-debug-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-devel-matched | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-64k-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-abi-stablelists | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-cross-headers | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-devel-matched | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-debug-uki-virt | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-devel-matched | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-doc | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-headers | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-debug-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-64k-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-kvm | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-debug-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-kvm | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-rt-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-tools | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-tools-libs | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-tools-libs-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-uki-virt | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-uki-virt-addons | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-devel | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-devel-matched | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-modules | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-modules-core | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | kernel-zfcpdump-modules-extra | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | libperf | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | perf | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | python3-perf | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | rtla | 0 | 5.14.0-570.33.2.el9_6 |
| AlmaLinux:9 | rv | 0 | 5.14.0-570.33.2.el9_6 |
| Debian:13 | linux | 0 | 6.12.35-1 |
| Linux | Kernel | 6.3.0 | 6.12.34 |
| SUSE:Linux Enterprise High Availability Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_14 | 0 | 1-150600.1.5.1 |
| SUSE:Linux Enterprise Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_14 | 0 | 1-150600.13.3.4 |
| SUSE:Linux Enterprise Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_3 | 0 | 1-150700.1.5.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-64kb | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-default-base | 0 | 6.4.0-150600.23.65.1.150600.12.28.4 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-coco_debug | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-source-coco | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 | kernel-syms-coco | 0 | 6.4.0-15061.28.coco15sp6.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-docs | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-obs-build | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP6 | kernel-syms | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-azure | 0 | 6.4.0-150600.8.48.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | 0 | 6.4.0-150600.8.48.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP6 | kernel-syms-azure | 0 | 6.4.0-150600.8.48.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP6 | kernel-default | 0 | 6.4.0-150600.23.65.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt | 0 | 6.4.0-150600.10.49.1 |
| SUSE:Real Time Module 15 SP6 | kernel-rt_debug | 0 | 6.4.0-150600.10.49.1 |
| SUSE:Real Time Module 15 SP6 | kernel-source-rt | 0 | 6.4.0-150600.10.49.1 |
| SUSE:Real Time Module 15 SP6 | kernel-syms-rt | 0 | 6.4.0-150600.10.49.1 |
| SUSE:Real Time Module 15 SP7 | kernel-rt | 0 | 6.4.0-150700.7.13.1 |
| SUSE:Real Time Module 15 SP7 | kernel-source-rt | 0 | 6.4.0-150700.7.13.1 |
| SUSE:Real Time Module 15 SP7 | kernel-syms-rt | 0 | 6.4.0-150700.7.13.1 |
| openSUSE:Leap 15.6 | dtb-aarch64 | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-64kb | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-azure | 0 | 6.4.0-150600.8.48.1 |
| openSUSE:Leap 15.6 | kernel-debug | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-default | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-default-base | 0 | 6.4.0-150600.23.65.1.150600.12.28.4 |
| openSUSE:Leap 15.6 | kernel-docs | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-kvmsmall | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-obs-build | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-obs-qa | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-rt | 0 | 6.4.0-150600.10.49.1 |
| openSUSE:Leap 15.6 | kernel-rt_debug | 0 | 6.4.0-150600.10.49.1 |
| openSUSE:Leap 15.6 | kernel-source | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-source-azure | 0 | 6.4.0-150600.8.48.1 |
| openSUSE:Leap 15.6 | kernel-source-rt | 0 | 6.4.0-150600.10.49.1 |
| openSUSE:Leap 15.6 | kernel-syms | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 15.6 | kernel-syms-azure | 0 | 6.4.0-150600.8.48.1 |
| openSUSE:Leap 15.6 | kernel-syms-rt | 0 | 6.4.0-150600.10.49.1 |
| openSUSE:Leap 15.6 | kernel-zfcpdump | 0 | 6.4.0-150600.23.65.1 |
| openSUSE:Leap 16.0 | dtb-aarch64 | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-64kb | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-default | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-default-base | 0 | 6.12.0-160000.6.1.160000.2.4 |
| openSUSE:Leap 16.0 | kernel-docs | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-kvmsmall | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-obs-build | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-obs-qa | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-rt | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-source | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-syms | 0 | 6.12.0-160000.6.1 |
| openSUSE:Leap 16.0 | kernel-zfcpdump | 0 | 6.12.0-160000.6.1 |
Related vulnerabilities
- CVE-2025-68285 In the Linux kernel, the following vulnerability has been resolved: libceph: fix… Also affects kernel
- CVE-2025-68287 In the Linux kernel, the following vulnerability has been resolved: usb: dwc3: Fix race… Also affects kernel
- CVE-2025-40277 In the Linux kernel, the following vulnerability has been resolved: drm/vmwgfx: Validate… Also affects kernel
- CVE-2025-40240 In the Linux kernel, the following vulnerability has been resolved: sctp: avoid NULL… Also affects kernel
- CVE-2025-40185 In the Linux kernel, the following vulnerability has been resolved: ice: ice_adapter… Also affects kernel
- CVE-2025-40176 In the Linux kernel, the following vulnerability has been resolved: tls: wait for pending… Also affects kernel
- CVE-2025-40058 In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Disallow… Also affects kernel
- CVE-2025-39981 In the Linux kernel, the following vulnerability has been resolved: Bluetooth: MGMT: Fix… Also affects kernel