Cloudanix VulnDB

CVE-2025-38438

None

CVSS

—

EPSS

0.2%

Published

Jul 25, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

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

  1. Trigger SOF Intel HDA driver probe or environment initialization
  2. Cause hda_machine_select to allocate tplg_filename via kstrdup
  3. Overwrite the pointer with a new allocation without freeing prior memory
  4. 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