Linux Kernel
CVE-2024-26799
HIGH
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain local low-privilege shell on QCOM Linux system
-
DeliveryInvoke ALSA audio interface with invalid DAI ID
-
Exploit__lpass_get_dmactl_handle skips dmactl assignment
-
ExecutionNull check evaluates garbage stack value
-
PersistUninitialized pointer dereferenced in kernel
-
ImpactKernel oops or memory corruption
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Uninitialized pointer prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires local access to the target system running on Qualcomm SoC hardware with the LPASS CDC DMA audio driver compiled in or loaded (sound/soc/qcom/lpass-cdc-dma.c). The attacker must be able to trigger an invocation of __lpass_get_dmactl_handle with an invalid dai_id - this implies access to the ALSA audio interface at PR:L (low privilege). The CVSS AC:H rating reflects that the hardware-specific driver must be present and active, significantly narrowing the attack surface to Qualcomm-based platforms (embedded Linux, Android). Exploitation beyond a kernel crash is further constrained by kernel hardening features (KASLR, SMEP, SMAP) present in modern distributions. There is no requirement for user interaction (UI:N), but the specific hardware dependency is the primary limiting factor for real-world exposure. |
| Impact | Despite a CVSS base score of 7.0 and a vector of AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H, the real-world exploitation risk is low. EPSS at 0.23% (14th percentile) reflects minimal exploitation interest from the threat intelligence community. This CVE is not listed in CISA KEV, and no public proof-of-concept exploit is identified. The CVSS high-complexity (AC:H) rating is appropriate: triggering this path requires the caller to supply an invalid dai_id on a system with QCOM LPASS CDC DMA audio hardware, making it highly hardware-specific and not broadly exploitable. The C:H/I:H/A:H impact ratings represent theoretical worst-case outcomes - a garbage pointer that passes the null check could lead to a stale memory dereference, kernel oops, or if KASLR is defeated, controlled memory writes - but these scenarios are technically demanding. In practice, the most realistic outcome is a kernel crash (DoS). This is primarily a defensive code-quality fix surfaced by static analysis, and while the CVSS score is technically defensible, it is likely not an operational priority compared to actively exploited vulnerabilities. |
| Exploit ScenarioDerived | A local attacker with low-privilege access on a Qualcomm-based embedded Linux system (e.g., an Android device, Snapdragon-based IoT platform) triggers the vulnerable code path by causing the audio subsystem to call __lpass_get_dmactl_handle with an invalid Digital Audio Interface ID (dai_id). The garbage dmactl pointer passes the null check and is subsequently dereferenced, causing either a kernel oops/crash or, under favorable memory layout conditions, a controlled access to an attacker-influenced memory region. No public proof-of-concept is available, and exploitation beyond a DoS would require defeating kernel hardening mitigations such as KASLR. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv3 – Aug 04, 2026
Uninitialized pointer access in the Linux kernel's QCOM ASoC LPASS CDC DMA audio driver allows a local low-privileged attacker on Qualcomm hardware to potentially corrupt kernel memory or crash the system. The function __lpass_get_dmactl_handle in sound/soc/qcom/lpass-cdc-dma.c fails to initialize the dmactl pointer to NULL before a conditional branch, meaning an invalid dai_id causes the branch to evaluate against a garbage stack value rather than a defined null sentinel. No public exploit exists and EPSS sits at just 0.23% (14th percentile), indicating very low real-world exploitation interest despite a CVSS base score of 7.0.
Earlier versions of this analysis (2)
Uninitialized pointer access in the Linux kernel's Qualcomm LPASS CDC DMA audio driver (ASoC qcom subsystem) allows a local attacker on Qualcomm SoC hardware to potentially corrupt kernel memory or disclose kernel data by triggering an invalid DAI ID path where the dmactl pointer retains a garbage stack value, bypassing its null check. Affected versions span Linux kernel 6.8 pre-release candidates rc1 through rc6, with patches backported to stable branches via three upstream commits. No public exploit exists and EPSS places exploitation probability at 0.23% (14th percentile), consistent with a code-quality safety fix rather than an actively targeted vulnerability; no KEV listing has been issued.
Uninitialized pointer access in the Linux kernel's Qualcomm ASoC LPASS CDC DMA audio driver allows a local low-privileged attacker on affected Qualcomm SoC hardware to potentially trigger memory corruption or information disclosure. The flaw exists in __lpass_get_dmactl_handle in sound/soc/qcom/lpass-cdc-dma.c, where the dmactl pointer is left uninitialized when an invalid dai_id is passed, causing a null check to operate on a garbage stack value rather than a reliable sentinel. No public exploit code exists and this vulnerability is not listed in the CISA KEV catalog; the EPSS score of 0.23% (14th percentile) reflects minimal real-world exploitation interest.
RemediationAI
Apply the upstream kernel patches provided via the three stable-tree commits referenced in NVD: https://git.kernel.org/stable/c/1382d8b55129875b2e07c4d2a7ebc790183769ee, https://git.kernel.org/stable/c/99adc8b4d2f38bf0d06483ec845bc48f60c3f8cf, and https://git.kernel.org/stable/c/d5a7726e6ea62d447b79ab5baeb537ea6bdb225b. The fix is a one-line initialization of dmactl to NULL, consistent with the coding pattern already used in __lpass_platform_codec_intf_init and lpass_cdc_dma_daiops_hw_params. Distributions tracking stable kernel series (e.g., Debian, Ubuntu, RHEL) should package these fixes in kernel updates; verify with your distribution's security advisories. As a compensating control, systems that do not use Qualcomm LPASS CDC DMA audio hardware can disable the driver module (CONFIG_SND_SOC_LPASS_CDC_DMA=n at build time or blacklist the module at runtime with 'blacklist lpass-cdc-dma' in /etc/modprobe.d/), eliminating exposure entirely with no functional impact on non-QCOM audio stacks. A released patched kernel version number is not independently confirmed from the available input data.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw resides in the ASoC (ALSA System on Chip) subsystem's Qualcomm LPASS (Low Power Audio SubSystem) CDC DMA driver, file sound/soc/qcom/lpass-cdc-dma.c. CWE-824 (Access of Uninitialized Pointer) describes the root cause: the local variable dmactl is declared but not initialized to NULL prior to a conditional null check. If an invalid dai_id is passed to __lpass_get_dmactl_handle, the assignment branch that would set dmactl is skipped, and the subsequent null check evaluates against whatever garbage value the stack happens to contain. On Qualcomm SoCs, LPASS provides the DMA engine for audio codec data; the dmactl handle structure controls DMA channel configuration. The affected CPEs are Linux kernel versions spanning pre-release 6.8-rc1 through 6.8-rc6, plus a broad wildcard range of prior stable kernels, as indicated by the NVD CPE data. Clang's scan-build static analyzer flagged this as: 'Branch condition evaluates to a garbage value [core.uninitialized.Branch]'.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
Local access and low privilege required; high complexity due to specific QCOM hardware and invalid DAI ID trigger condition; worst-case kernel pointer dereference enables C/I/A:H.
Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).
CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Lifecycle Timeline
6DescriptionCVE.org
In the Linux kernel, the following vulnerability has been resolved:
ASoC: qcom: Fix uninitialized pointer dmactl
In the case where __lpass_get_dmactl_handle is called and the driver id dai_id is invalid the pointer dmactl is not being assigned a value, and dmactl contains a garbage value since it has not been initialized and so the null check may not work. Fix this to initialize dmactl to NULL. One could argue that modern compilers will set this to zero, but it is useful to keep this initialized as per the same way in functions __lpass_platform_codec_intf_init and lpass_cdc_dma_daiops_hw_params.
Cleans up clang scan build warning: sound/soc/qcom/lpass-cdc-dma.c:275:7: warning: Branch condition evaluates to a garbage value [core.uninitialized.Branch]
Executive ViewAI
CVE-2024-26799 affects the Qualcomm audio driver in the Linux kernel, enabling local attackers to crash systems or corrupt memory through an uninitialized pointer flaw. While the vulnerability carries a CVSS score of 7.0, real-world exploitation risk is minimal-no public exploit identified at time of analysis and real-world attack interest ranks in the 14th percentile. Organizations with Qualcomm-based Linux infrastructure should prioritize patching but can manage deployment through normal update cycles.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
NVD
CVE.org
EPSS
VulDB
GitHub PoC
Exploit-DB