CVE-2026-56109
Medium · 6.8CVSS
6.8
EPSS
0.1%
Published
Jun 22, 2026
CISA due date
—
Cloudanix analysis
A flaw in a common Linux audio library can let someone who controls its configuration crash applications that use audio.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
ALSA libasound versions before 1.2.16.1 contain a double-free flaw in parse_def() in src/conf.c. A maliciously crafted ALSA configuration containing nested compound or array blocks can drive an error path where the parser continues after an unchecked failure and calls snd_config_delete() twice on the same configuration node. The likely result is process memory corruption, including a NULL-pointer write or invalid memory read, causing denial of service of the process using libasound. Depending on allocator behavior, hardening, and the privileges of the consuming application, the impact may extend to limited process integrity compromise, but the described impact is primarily local memory corruption and crash of applications that parse attacker-controlled ALSA configuration text.
Why it matters to the business
Systems and applications that use ALSA for audio configuration can be crashed if they parse malicious configuration data. This can disrupt desktop audio, multimedia services, conferencing, kiosk systems, embedded Linux devices, media processing workloads, or any application that loads libasound configuration from user-writable or otherwise untrusted locations. The vulnerability is not in the CISA KEV catalog, has very low EPSS at 0.00138, and has no reported exploit maturity, so broad active exploitation is not currently indicated; however, because ALSA is widely deployed on Linux endpoints and embedded systems, patching should be included in normal Linux package maintenance and prioritized where local users, sandbox escapes, plugins, containers, or untrusted workloads can influence ALSA configuration.
How an attack unfolds
An attacker needs a path to cause a vulnerable process to parse attacker-controlled ALSA configuration text. In a common local scenario, the attacker places or influences an ALSA configuration file such as a per-user configuration or an application-supplied configuration path. When an application that links against libasound starts or refreshes its configuration, the ALSA parser processes nested compound or array blocks in the malicious text. The vulnerable parse_def() error path mishandles a partially initialized configuration node and frees it more than once. This corrupts process memory and typically terminates the application with an allocator, segmentation fault, or invalid memory access error. If the affected process runs with elevated privileges or provides a service to other users, the attacker may be able to turn a local configuration parsing issue into a denial of service against a more valuable process.
How to fix it
Upgrade ALSA libasound to version 1.2.16.1 or later, or apply the equivalent vendor backported security patch from the operating system or distribution maintainer. Because Linux distributions often backport fixes without changing the upstream version string, rely on vendor security advisories and package changelogs in addition to the upstream version number. After patching, restart applications and services that link against libasound so they load the fixed library. As interim mitigation, prevent untrusted users or workloads from controlling ALSA configuration files or configuration paths, ensure system ALSA configuration files are not writable by non-administrative users, avoid running audio-consuming applications with elevated privileges, and constrain applications with sandboxing, seccomp/AppArmor/SELinux, and allocator hardening where available.
How to confirm the fix worked
Confirm the installed libasound/alsa-lib package is fixed by checking distribution package metadata and vendor advisory status. On systems using upstream versioning, verify alsa-lib is 1.2.16.1 or later; package managers such as rpm, dpkg, apt, dnf, yum, zypper, or apk can be used depending on platform. Confirm running processes have been restarted after the package update by checking mapped libraries under /proc/<pid>/maps or by using tools such as lsof to identify processes still using the old libasound shared object. Validate file permissions on ALSA configuration locations, including system-wide and per-user configuration files, to ensure untrusted users cannot modify configurations used by privileged or shared processes. Where safe, run vendor or upstream ALSA regression tests for configuration parsing rather than ad hoc malicious inputs in production.
Typical attack path
- Identify a Linux system or application using vulnerable ALSA libasound before version 1.2.16.1.
- Gain the ability to supply or influence ALSA configuration text consumed by the target process, such as a user-level ALSA config, application config bundle, environment-controlled config path, or writable configuration location.
- Craft ALSA configuration text with nested compound or array blocks that trigger the parse_def() error path.
- Cause the target process to load or reload the malicious ALSA configuration.
- The vulnerable parser frees the same configuration node twice, corrupting memory.
- The process crashes or behaves unpredictably, producing a local denial of service and possible limited integrity impact within that process context.
How to detect it
To determine whether exploitation may have already occurred, review host logs, application logs, crash reporters, and coredump records for crashes in processes that load libasound around the time ALSA configuration files were modified or supplied by users. Useful log sources include systemd-journald, syslog, kernel logs, auditd file integrity records, endpoint detection telemetry, coredumpctl/systemd-coredump, apport/abrt crash reports, and application-specific logs for audio, media, browser, conferencing, kiosk, or desktop components. Look for allocator and crash signatures such as double-free, invalid pointer, invalid read, SIGSEGV, SIGABRT, and stack frames containing libasound, snd_config_delete(), parse_def(), or src/conf.c. Correlate these crashes with changes to ALSA configuration locations such as /etc/asound.conf, user .asoundrc files, /usr/share/alsa/alsa.conf, application-bundled ALSA config files, or environment-variable-driven configuration paths. Because there are no public threat actors, known campaigns, or stable network indicators associated with this issue, detection should focus on local file modification evidence and crash forensics rather than network IOCs.
- free(): double free detected in tcache
- double free or corruption
- munmap_chunk(): invalid pointer
- corrupted double-linked list
- SIGSEGV
- SIGABRT
- snd_config_delete
- parse_def
- src/conf.c
- libasound.so
- /etc/asound.conf
- /.asoundrc
- /usr/share/alsa/alsa.conf
- ALSA_CONFIG_PATH
What your security team should do
- Inventory Linux endpoints, servers, containers, and embedded images that include alsa-lib/libasound and identify versions before 1.2.16.1 or vendor-unpatched equivalents.
- Prioritize patching systems where local users, containers, plugins, media files, desktop sessions, kiosks, or untrusted workloads can influence ALSA configuration consumed by another process.
- Update alsa-lib/libasound through supported distribution channels and restart audio, multimedia, desktop, and application services that may keep the vulnerable library loaded.
- Review permissions and ownership of ALSA configuration files and directories; remove write access for untrusted users from any configuration consumed by privileged or shared services.
- Harden service launch environments by clearing or controlling environment variables and configuration paths that could redirect ALSA to attacker-supplied configuration.
- Monitor crash telemetry, coredumps, and system logs for libasound, snd_config_delete(), parse_def(), allocator double-free messages, segmentation faults, or repeated crashes in audio-enabled applications.
- For container and embedded images, rebuild base images and firmware bundles that package vulnerable alsa-lib rather than only patching running hosts.
The record
The Advanced Linux Sound Architecture (ALSA) library before 1.2.16.1 contains a double-free vulnerability in parse_def() in src/conf.c that allows attackers to corrupt memory by supplying maliciously crafted ALSA configuration text. When parsing nested compound or array configuration blocks, parse_def() fails to check return values before continuing, causing snd_config_delete() to be called twice on the same already-freed node, resulting in a NULL-pointer write or invalid memory read.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| openSUSE:Leap 16.0 | alsa | 0 | 1.2.14-160000.3.1 |
Related vulnerabilities
- CVE-2026-109271 ImageMagick 7.1.2-30 before 7.1.2-32 contains a use after free vulnerability in the… CWE-415
- CVE-2026-107886 OpenPrinting CUPS before 2.4.20 contains a double-free in printer-class management. CWE-415
- CVE-2026-107209 ImageMagick is free and open-source software used for editing and manipulating digital… CWE-415
- CVE-2026-98154 In the Linux kernel, the following vulnerability has been resolved: nvme-rdma: fix -EIO… CWE-415
- CVE-2026-87585 Double free in PDFium in Google Chrome on on Windows prior to 153.0.8010.36 allowed a… CWE-415
- CVE-2026-79907 Acrobat Reader is affected by a Double Free vulnerability that could result in arbitrary… CWE-415
- CVE-2026-82325 A use-after-free vulnerability in the OpenVPN ovpn-dco-win driver version 2.5.0 through… CWE-415
- CVE-2026-20510 In camera middleware, there is a possible escalation of privilege due to double free. CWE-415