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

ASoC: wm_adsp: Fix NULL dereference when removing firmware controls

In wm_adsp_control_remove() check that the priv pointer is not NULL
before attempting to cleanup what it points to.

When cs_dsp creates a control it calls wm_adsp_control_add_cb() so that
wm_adsp can create its own private control data. There are two cases
where private data is not created:

1. The control is a SYSTEM control, so an ALSA control is not created.

2. The codec driver has registered a control_add() callback that
hides the control, so wm_adsp_control_add() is not called.

When cs_dsp_remove destroys its control list it calls
wm_adsp_control_remove() for each control. But wm_adsp_control_remove()
was attempting to cleanup the private data pointed to by cs_ctl->priv
without checking the pointer for NULL.
Published: 2026-07-01
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The wm_adsp audio driver in the Linux kernel contains a flaw where the wm_adsp_control_remove() function attempts to free private control data without first checking for a NULL pointer. When a control lacking private data is removed, this results in a NULL dereference that triggers a kernel oops and a system crash. This vulnerability leads to a denial of service by interrupting kernel operation, with no direct impact on confidentiality or integrity.

Affected Systems

All Linux kernel builds that include the wm_adsp audio driver and that do not contain the commit adding the NULL check are affected. Because the advisory does not specify a precise version range, it is inferred that any kernel compiled before the referenced commit is at risk. Distribution kernels that are still shipping with older builds are subject to a NULL pointer dereference in the Linux kernel’s ASoC wm_adsp driver, specifically in the function that removes firmware controls. When a control that lacks private data is removed, the driver attempts to free that data without first checking for a null pointer. This causes a kernel oops that results in a system crash, representing a classic denial‑of‑service attack. The weakness is classified as CWE‑476.

Risk and Exploitability

The CVSS score of 5.5 indicates moderate severity. The EPSS score is reported as <1%, showing a very low probability of automated exploitation. The vulnerability is not listed in the CISA KEV catalog, and no public exploits are known. The likely attack vector is local or privileged, requiring the attacker to manipulate ALSA controls or trigger a control removal. The impact is limited to availability; no confidentiality or integrity compromise is implied.

Generated by OpenCVE AI on July 22, 2026 at 14:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that adds the NULL pointer check (see the commit referenced in the advisory).
  • If an immediate kernel upgrade is not possible, backport the patch from the kernel repository to the current kernel tree and rebuild the kernel or the sound module.
  • After applying the fix, reload the wm_adsp module or reboot the system to ensure the updated code is in use.

Generated by OpenCVE AI on July 22, 2026 at 14:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4665-1 linux security update
Debian DLA Debian DLA DLA-4671-1 linux-6.1 security update
History

Thu, 02 Jul 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


Wed, 01 Jul 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Wed, 01 Jul 2026 13:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: ASoC: wm_adsp: Fix NULL dereference when removing firmware controls In wm_adsp_control_remove() check that the priv pointer is not NULL before attempting to cleanup what it points to. When cs_dsp creates a control it calls wm_adsp_control_add_cb() so that wm_adsp can create its own private control data. There are two cases where private data is not created: 1. The control is a SYSTEM control, so an ALSA control is not created. 2. The codec driver has registered a control_add() callback that hides the control, so wm_adsp_control_add() is not called. When cs_dsp_remove destroys its control list it calls wm_adsp_control_remove() for each control. But wm_adsp_control_remove() was attempting to cleanup the private data pointed to by cs_ctl->priv without checking the pointer for NULL.
Title ASoC: wm_adsp: Fix NULL dereference when removing firmware controls
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-07-01T13:32:27.975Z

Reserved: 2026-06-09T07:44:35.399Z

Link: CVE-2026-53350

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity : Low

Publid Date: 2026-07-01T00:00:00Z

Links: CVE-2026-53350 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-22T14:30:17Z

Weaknesses