Skip to main content

CVE-2024-46793: Vulnerability in Linux Linux

Medium
VulnerabilityCVE-2024-46793cvecve-2024-46793
Published: Wed Sep 18 2024 (09/18/2024, 07:12:48 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: ASoC: Intel: Boards: Fix NULL pointer deref in BYT/CHT boards harder Since commit 13f58267cda3 ("ASoC: soc.h: don't create dummy Component via COMP_DUMMY()") dummy codecs declared like this: SND_SOC_DAILINK_DEF(dummy, DAILINK_COMP_ARRAY(COMP_DUMMY())); expand to: static struct snd_soc_dai_link_component dummy[] = { }; Which means that dummy is a zero sized array and thus dais[i].codecs should not be dereferenced *at all* since it points to the address of the next variable stored in the data section as the "dummy" variable has an address but no size, so even dereferencing dais[0] is already an out of bounds array reference. Which means that the if (dais[i].codecs->name) check added in commit 7d99a70b6595 ("ASoC: Intel: Boards: Fix NULL pointer deref in BYT/CHT boards") relies on that the part of the next variable which the name member maps to just happens to be NULL. Which apparently so far it usually is, except when it isn't and then it results in crashes like this one: [ 28.795659] BUG: unable to handle page fault for address: 0000000000030011 ... [ 28.795780] Call Trace: [ 28.795787] <TASK> ... [ 28.795862] ? strcmp+0x18/0x40 [ 28.795872] 0xffffffffc150c605 [ 28.795887] platform_probe+0x40/0xa0 ... [ 28.795979] ? __pfx_init_module+0x10/0x10 [snd_soc_sst_bytcr_wm5102] Really fix things this time around by checking dais.num_codecs != 0.

AI-Powered Analysis

AILast updated: 06/29/2025, 01:55:26 UTC

Technical Analysis

CVE-2024-46793 is a vulnerability identified in the Linux kernel's ALSA System on Chip (ASoC) Intel board support code, specifically affecting Bay Trail (BYT) and Cherry Trail (CHT) platforms. The root cause lies in the handling of dummy codec components within the sound subsystem. Since commit 13f58267cda3, dummy codecs declared via COMP_DUMMY() expand to zero-sized arrays, meaning that dais[i].codecs points to an address with no valid array elements. The vulnerability arises because the code attempts to dereference dais[i].codecs->name without verifying that the number of codecs (dais.num_codecs) is non-zero. This leads to out-of-bounds memory access and potential NULL pointer dereference, causing kernel crashes (page faults) during platform probe operations. The issue was initially addressed by a check on dais[i].codecs->name, but this was insufficient because it relied on the next variable's memory being NULL, which is not guaranteed. The definitive fix involves explicitly checking that dais.num_codecs is not zero before dereferencing dais[i].codecs. This vulnerability can cause system instability and denial of service by crashing the kernel when affected sound drivers are initialized.

Potential Impact

For European organizations, this vulnerability primarily threatens systems running Linux kernels with affected versions that include the flawed ASoC Intel board code, particularly on devices using Bay Trail and Cherry Trail platforms. The impact is mainly denial of service through kernel crashes, which can disrupt critical services, especially in environments relying on Linux-based embedded systems, IoT devices, or servers with these platforms. While it does not directly lead to privilege escalation or data leakage, the instability can cause operational downtime, affecting business continuity. Organizations using Linux distributions that incorporate these kernel versions in their supported releases may face increased risk. Additionally, sectors with high reliance on embedded Linux systems, such as telecommunications, industrial control, and automotive, could experience service interruptions. The lack of known exploits in the wild reduces immediate risk but does not eliminate the threat of targeted attacks or accidental crashes.

Mitigation Recommendations

To mitigate this vulnerability, European organizations should: 1) Apply the official Linux kernel patches that include the fix for CVE-2024-46793, ensuring that dais.num_codecs is checked before dereferencing codec pointers. 2) Update Linux distributions to the latest stable kernel versions provided by their vendors that incorporate this fix. 3) For embedded systems or custom kernels, rebuild the kernel with the corrected ASoC Intel board code. 4) Conduct thorough testing of audio subsystem functionality post-patching to confirm stability. 5) Monitor system logs for kernel crashes related to snd_soc or platform_probe to detect potential exploitation or instability. 6) Implement robust kernel crash recovery and alerting mechanisms to minimize downtime. 7) Where feasible, isolate critical systems from untrusted inputs that might trigger the vulnerable code path. These steps go beyond generic advice by focusing on kernel patching, testing, and monitoring specific to the affected subsystem and platforms.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-09-11T15:12:18.279Z
Cisa Enriched
true
Cvss Version
null
State
PUBLISHED

Threat ID: 682d9827c4522896dcbe130b

Added to database: 5/21/2025, 9:08:55 AM

Last enriched: 6/29/2025, 1:55:26 AM

Last updated: 7/29/2025, 6:44:39 PM

Views: 11

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats