CVE-2025-38438
NoneCVSS
—
EPSS
0.2%
Published
Jul 25, 2025
CISA due date
—
Cloudanix analysis
A bug in Linux sound handling for certain Intel audio chips could slowly waste memory, which might eventually make systems less responsive or cause crashes if left unfixed.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Memory leak in snd_sof_intel_hda_generic driver where sof_pdata->tplg_filename allocated via kstrdup() can be overwritten without release, leaving unreferenced objects as shown in kmemleak traces during hda_machine_select and sof_probe paths.
Why it matters to the business
Gradual memory exhaustion on Linux systems using Intel HDA audio with SOF, increasing risk of degraded performance or instability over time in servers, desktops, or embedded devices; low immediate urgency given age and low EPSS but still requires patching for long-term stability.
How an attack unfolds
An attacker with local access or ability to trigger repeated audio device initialization (via module load/unload or probe sequences) can cause repeated allocations of tplg_filename strings without corresponding frees, leading to memory depletion; no named threat actors or ransomware usage reported.
How to fix it
Upgrade affected Linux kernel packages to fixed versions: Debian 13 to 6.12.41-1 or later, Debian 14 to 6.16.3-1 or later, or mainline stable to commit 432c5363cd6fe5a928bbc94524d28b05515684dd or equivalent; rebuild and reboot after update.
How to confirm the fix worked
Confirm kernel version matches or exceeds the listed fixed releases; re-run kmemleak scan after audio driver load to verify no further leaks of sof-hda-generic strings; monitor /proc/meminfo and slabinfo for unexpected growth in kmalloc-16 objects.
Typical attack path
- Trigger SOF Intel HDA driver probe or environment initialization
- Cause hda_machine_select to allocate tplg_filename via kstrdup
- Overwrite the pointer with a new allocation without freeing prior memory
- Repeat to accumulate unreferenced allocations until memory pressure occurs
How to detect it
Search kernel logs and kmemleak reports for unreferenced allocations originating from kstrdup in hda_machine_select or snd_sof_intel_hda_generic; monitor for repeated sof_init_environment or sof_probe_work activity without corresponding frees; no specific runtime IOCs for active exploitation.
What your security team should do
- Prioritize kernel upgrades on all Debian 13/14 and custom builds using affected git trees within standard maintenance windows
- Enable kmemleak or similar memory debugging in test environments to validate absence of the leak post-patch
- Review audio subsystem usage in production workloads for any repeated probe patterns that could amplify impact
The record
In the Linux kernel, the following vulnerability has been resolved: ASoC: SOF: Intel: hda: Use devm_kstrdup() to avoid memleak. sof_pdata->tplg_filename can have address allocated by kstrdup() and can be overwritten. Memory leak was detected with kmemleak: unreferenced object 0xffff88812391ff60 (size 16): comm "kworker/4:1", pid 161, jiffies 4294802931 hex dump (first 16 bytes): 73 6f 66 2d 68 64 61 2d 67 65 6e 65 72 69 63 00 sof-hda-generic. backtrace (crc 4bf1675c): __kmalloc_node_track_caller_noprof+0x49c/0x6b0 kstrdup+0x46/0xc0 hda_machine_select.cold+0x1de/0x12cf [snd_sof_intel_hda_generic] sof_init_environment+0x16f/0xb50 [snd_sof] sof_probe_continue+0x45/0x7c0 [snd_sof] sof_probe_work+0x1e/0x40 [snd_sof] process_one_work+0x894/0x14b0 worker_thread+0x5e5/0xfb0 kthread+0x39d/0x760 ret_from_fork+0x31/0x70 ret_from_fork_asm+0x1a/0x30
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | linux | 0 | No fix |
| Debian:12 | linux | 0 | No fix |
| Debian:13 | linux | 0 | 6.12.41-1 |
| Debian:14 | linux | 0 | No fix |
| Debian:14 | linux | 0 | 6.16.3-1 |
| Linux | Kernel | 5.2.0 | 6.12.39 |
| 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-39885 In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix recursive… Also affects linux
- CVE-2025-39883 In the Linux kernel, the following vulnerability has been resolved: mm/memory-failure… Also affects linux
- CVE-2025-39876 In the Linux kernel, the following vulnerability has been resolved: net: fec: Fix… Also affects linux
- CVE-2025-39869 In the Linux kernel, the following vulnerability has been resolved: dmaengine: ti: edma… Also affects linux
- CVE-2025-39873 In the Linux kernel, the following vulnerability has been resolved: can: xilinx_can… Also affects linux
- CVE-2025-39863 In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: fix… Also affects linux
- CVE-2025-39865 In the Linux kernel, the following vulnerability has been resolved: tee: fix NULL pointer… Also affects linux
- CVE-2025-39866 In the Linux kernel, the following vulnerability has been resolved: fs: writeback: fix… Also affects linux