Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-64107

CVE-2026-64107: Linux Kernel PCM512x Null Pointer Flaw

CVE-2026-64107 is a null pointer dereference vulnerability in the Linux kernel PCM512x audio codec driver caused by improper DAPM context access. This article covers the technical details, affected systems, and patches.

Published:

CVE-2026-64107 Overview

CVE-2026-64107 is a null pointer dereference vulnerability in the Linux kernel's ALSA System-on-Chip (ASoC) subsystem. The flaw resides in the pcm512x codec driver, specifically inside the pcm512x_overclock_xxx_put() handler. The function is registered as a general mixer kcontrol rather than a Dynamic Audio Power Management (DAPM) kcontrol, but it incorrectly accesses struct snd_soc_dapm_context through snd_soc_dapm_kcontrol_to_dapm(). Because the mixer control has no associated DAPM widget, this call returns a NULL pointer and triggers a kernel dereference. The fix routes the driver through snd_soc_component_to_dapm() instead.

Critical Impact

A local user with access to ALSA mixer controls on a system using the pcm512x codec can trigger a NULL pointer dereference in the kernel, resulting in denial of service.

Affected Products

  • Linux kernel builds that compile the snd-soc-pcm512x codec driver
  • Systems using Texas Instruments PCM512x-family audio DACs (for example PCM5121, PCM5122, PCM5142)
  • Distributions shipping the affected mainline kernel prior to the referenced stable commits

Discovery Timeline

  • 2026-07-19 - CVE-2026-64107 published to NVD
  • 2026-07-19 - Last updated in NVD database

Technical Details for CVE-2026-64107

Vulnerability Analysis

The pcm512x driver exposes overclocking parameters as ALSA mixer controls using the standard SOC_SINGLE_EXT style registration. The put callback, pcm512x_overclock_xxx_put(), is invoked when userspace writes a new value through snd_ctl_write() or amixer. The callback attempts to resolve the current DAPM context to check power state before applying the change.

Because the control is a mixer element rather than a DAPM control, no widget list is attached to the kcontrol. Calling snd_soc_dapm_kcontrol_to_dapm() on such a control walks an empty widget list and returns NULL. Subsequent dereferences of the returned snd_soc_dapm_context pointer cause an oops in kernel context. This falls under Null Pointer Dereference [CWE-476].

Root Cause

The root cause is an API mismatch. snd_soc_dapm_kcontrol_to_dapm() is valid only for controls created as DAPM controls, where a widget backreference exists in dapm_kcontrol_data. The pcm512x driver registered its overclock controls through the general mixer path, leaving that backreference empty. The corrected code uses snd_soc_component_to_dapm(), which derives the DAPM context directly from the component the control belongs to.

Attack Vector

Triggering the fault requires local access and permission to write to the ALSA control device (/dev/snd/controlC*) on hardware exposing the pcm512x codec. An attacker with such access writes any value to the overclock mixer controls, causing the kernel to dereference NULL and panic if panic_on_oops is set, or to kill the offending task and leave a stale kernel state otherwise. Remote exploitation is not applicable. Technical details are available in the Linux stable commit 285159ca199c and the companion stable commit 09e8f9a9aa19.

Detection Methods for CVE-2026-64107

Indicators of Compromise

  • Kernel oops entries in dmesg or journalctl -k referencing pcm512x_overclock_pll_put, pcm512x_overclock_dac_put, or pcm512x_overclock_dsp_put
  • BUG: kernel NULL pointer dereference messages with a call stack passing through snd_soc_dapm_kcontrol_to_dapm
  • Unexpected audio subsystem crashes on devices using PCM512x DACs after mixer writes from userspace

Detection Strategies

  • Query loaded kernel version and module list to identify hosts running snd_soc_pcm512x on unpatched kernels
  • Correlate ALSA control writes (amixer, alsactl) with kernel crash telemetry to identify probing behavior
  • Monitor for repeated audio service restarts, which may indicate someone iterating on the mixer control to trigger the fault

Monitoring Recommendations

  • Ship /var/log/kern.log and journald kernel facility events to a central log store for kernel oops correlation
  • Alert on kernel panic and oops counters increasing on hosts with the pcm512x driver loaded
  • Track process execution of ALSA control utilities by non-audio users on server and embedded systems

How to Mitigate CVE-2026-64107

Immediate Actions Required

  • Apply the upstream stable kernel updates that include commits 285159ca199c and 09e8f9a9aa19
  • If patching is delayed, unload the snd_soc_pcm512x module on systems where the codec is not required
  • Restrict access to /dev/snd/controlC* device nodes to the audio group and remove unnecessary users from that group

Patch Information

The fix replaces the incorrect snd_soc_dapm_kcontrol_to_dapm() call inside pcm512x_overclock_xxx_put() with snd_soc_component_to_dapm(), which returns a valid DAPM context for the component regardless of control type. Rebuild and deploy the kernel from any stable branch that has merged the referenced commits, then reboot affected hosts.

Workarounds

  • Blacklist the snd_soc_pcm512x module in /etc/modprobe.d/ on systems that do not need the codec
  • Tighten permissions on ALSA control device nodes using udev rules to prevent unprivileged local users from writing mixer values
  • Enable kernel.panic_on_oops=0 only where continued operation after an oops is acceptable, and monitor for recurrence
bash
# Blacklist the affected codec module until the kernel is patched
echo 'blacklist snd_soc_pcm512x' | sudo tee /etc/modprobe.d/blacklist-pcm512x.conf
sudo depmod -a
sudo rmmod snd_soc_pcm512x 2>/dev/null || true

# Verify the module is no longer loaded
lsmod | grep pcm512x

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.