CVE-2024-46798·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object When using kernel with the following extra config, - CONFIG_KASAN=y - CONFIG_KASAN_GENERIC=y - CONFIG_KASAN_INLINE=y - CONFIG_KASAN_VMALLOC=y - CONFIG_FRAME_WARN=4096 kernel detects that snd_pcm_suspend_all() access a freed 'snd_soc_pcm_runtime' object when the system is suspended, which leads to a use-after-free bug: [ 52.047746] BUG: KASAN: use-after-free in snd_pcm_suspend_all+0x1a8/0x270 [ 52.047765] Read of size 1 at addr ffff0000b9434d50 by task systemd-sleep/2330 [ 52.047785] Call trace: [ 52.047787] dump_backtrace+0x0/0x3c0 [ 52.047794] show_stack+0x34/0x50 [ 52.047797] dump_stack_lvl+0x68/0x8c [ 52.047802] print_address_description.constprop.0+0x74/0x2c0 [ 52.047809] kasan_report+0x210/0x230 [ 52.047815] __asan_report_load1_noabort+0x3c/0x50 [ 52.047820] snd_pcm_suspend_all+0x1a8/0x270 [ 52.047824] snd_soc_suspend+0x19c/0x4e0 The snd_pcm_sync_stop() has a NULL check on 'substream->runtime' before making any access. So we need to always set 'substream->runtime' to NULL everytime we kfree() it.
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.10.10
- Published
- 2024-09-18
Affected versions
From: 6.7
Until: 6.10.10
Fixed in: 6.10.10
How to fix this CVE
Update your Linux kernel to version 6.10.10 or later to resolve a use-after-free vulnerability in the ASoC DAPM subsystem that can be triggered during system suspension. This flaw allows kernel memory to be accessed after it has been freed, potentially leading to system instability or information disclosure. Prioritize this update for systems with audio subsystem enabled and frequent suspend/resume cycles.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your kernel version with `uname -r` and verify it is 6.10.10 or newer (vulnerable range: 6.7.x through 6.10.9)
- Step 2: Confirm ASoC/DAPM audio subsystem is compiled into the kernel by running `grep -i 'CONFIG_SND_SOC\|CONFIG_SND_SOC_DAPM' /boot/config-$(uname -r)` or checking `cat /boot/config-$(uname -r) | grep SND_SOC`
- Step 3: Search system logs for KASAN use-after-free reports related to snd_pcm_suspend_all by running `sudo grep -i 'use-after-free\|snd_pcm_suspend_all\|snd_soc_suspend' /var/log/kern.log* /var/log/syslog*`
- Step 4: After updating, reboot the system and verify the new kernel is active with `uname -r`, then run stress-test or suspend/resume cycle to confirm stability with `sudo systemctl suspend` followed by manual wake
FAQ
What is CVE-2024-46798?
CVE-2024-46798 is a use-after-free vulnerability in the Linux kernel's ASoC DAPM (Digital Audio Signal Processing Dynamic Audio Management) subsystem where memory is freed but later accessed during system suspend operations, potentially causing crashes or information leaks.
Is CVE-2024-46798 being actively exploited?
No, there are no known public exploits or active exploitation in the wild for CVE-2024-46798 at this time, though it is a high-severity flaw that should be patched promptly.
What versions of Kernel are affected by CVE-2024-46798?
Linux kernel versions 6.7.0 through 6.10.9 are vulnerable; version 6.10.10 and later contain the fix.
How do I check if my server is vulnerable to CVE-2024-46798?
Run `uname -r` to display your kernel version; if it shows 6.7.x through 6.10.9, you are vulnerable. Additionally, verify audio support is enabled with `grep CONFIG_SND_SOC /boot/config-$(uname -r)`.
Does Defensia detect CVE-2024-46798?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-46798 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/3033ed903b4f28b5e1ab66042084fbc2c48f8624
- https://git.kernel.org/stable/c/5d13afd021eb43868fe03cef6da34ad08831ad6d
- https://git.kernel.org/stable/c/6a14fad8be178df6c4589667efec1789a3307b4e
- https://git.kernel.org/stable/c/8ca21e7a27c66b95a4b215edc8e45e5d66679f9f
- https://git.kernel.org/stable/c/993b60c7f93fa1d8ff296b58f646a867e945ae89
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-46798. Free for 1 server.
Get started free