Description
In the Linux kernel, the following vulnerability has been resolved:

ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback

When q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf
and sets them to NULL under graph->lock. A late DSP buffer-done response
can race with this: graph_callback() passes the !graph->ar_graph guard
(not yet NULL), acquires the lock, but then dereferences a now-NULL buf
pointer to read buf[token].phys, crashing at virtual address 0x10.

Add a NULL check for buf inside the mutex-protected section in both the
write-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and
read-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail
out cleanly if buffers have already been freed.

This problem is only shown up recently while apr bus was updated to
process the commands per service rather from single global queue.
Published: 2026-08-15
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A race condition exists in the Qualcomm ASoC q6apm driver for the Linux kernel. When the driver frees DSP buffer pointers during q6apm_free_fragments(), a pending DSP buffer-done response can arrive and the graph_callback function may read from a now-NULL buf pointer under the protection of a lock. This leads to a NULL pointer dereference and a kernel oops at virtual address 0x10, causing a system crash. The weakness corresponds to CWE-476 (NULL Pointer Dereference).

Affected Systems

All Linux kernel releases that include the Qualcomm ASoC q6apm driver, without a later patch that adds NULL checks in the buffer-done handlers, are vulnerable. No specific kernel version range is listed, so any kernel incorporating the affected driver before the recent commit should be considered at risk.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity, and the EPSS score is reported as <1%, implying a low probability of exploitation at the time of analysis. The vulnerability is not listed in the CISA KEV catalog. Likely attack vector is local: an attacker with access to the DSP or audio subsystem could trigger DSP buffer-done events. This could be achieved through local firmware or audio interfaces that interact with the q6apm driver, potentially causing a denial of service on the affected system.

Generated by OpenCVE AI on August 22, 2026 at 11:32 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel patch that adds NULL checks in the q6apm buffer-done handlers or upgrade to a kernel version that includes the fix.
  • If a kernel update is not immediately possible, unload or disable the q6apm ASoC driver until the patch is applied.
  • Review and update any Qualcomm firmware or applications that interface with the DSP to avoid sending premature buffer-done messages while the driver is unstable.

Generated by OpenCVE AI on August 22, 2026 at 11:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 10:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Wed, 19 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Low


Sat, 15 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-476

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback When q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf and sets them to NULL under graph->lock. A late DSP buffer-done response can race with this: graph_callback() passes the !graph->ar_graph guard (not yet NULL), acquires the lock, but then dereferences a now-NULL buf pointer to read buf[token].phys, crashing at virtual address 0x10. Add a NULL check for buf inside the mutex-protected section in both the write-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and read-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail out cleanly if buffers have already been freed. This problem is only shown up recently while apr bus was updated to process the commands per service rather from single global queue.
Title ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:11:15.758Z

Reserved: 2026-08-09T03:40:39.915Z

Link: CVE-2026-72257

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:53.527

Modified: 2026-08-17T06:18:28.020

Link: CVE-2026-72257

cve-icon Redhat

Severity : Low

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72257 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T11:45:03Z

Weaknesses