Skip to main content

alsa-lib CVE-2026-96674

| EUVDEUVD-2026-85346 MEDIUM
Integer Overflow or Wraparound (CWE-190)
2026-09-23 VulnCheck GHSA-w2qj-qh9f-h5cc
4.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft topology file with overflowing size fields
  2. Delivery
    Deliver file to local user/app
  3. Exploit
    Wrap 32-bit size2 calculation, bypass bounds check
  4. Execution
    Decoder reads beyond topology buffer
  5. Impact
    Leak adjacent memory or crash application

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
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 an application or user running alsa-lib (through 1.2.16.1) to parse an attacker-controlled ALSA topology (.tplg) file through the topology decoder path (tplg_decode_control_mixer / tplg_decode_control_enum / tplg_decode_control_bytes). The attacker must be able to place or supply a crafted topology file, and the victim must load it - this is the UI:P (passive interaction) and AV:L (local) limitation. It is NOT remotely exploitable over the network against a default service; there is no network listener involved. The practical limiting factor is that topology files are normally trusted, system-provided sound-card configuration data, so this only becomes exploitable where alsa-lib processes topology files from an untrusted source.

Impact

This is a genuinely low-to-moderate real-world risk despite affecting an extremely widespread library. The CVSS 4.0 base score of 4.8 (AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L) is internally consistent with the description: exploitation is local (AV:L) and requires the victim to process an attacker-supplied topology file (UI:P/passive interaction), and the impact is limited to partial information disclosure (VC:L) and application crash / limited availability loss (VA:L), with no integrity impact (VI:N) and no scope change (SC:N). There is no EPSS score, no CISA KEV listing, and no public proof-of-concept provided in the intelligence, so this is not confirmed to be under active exploitation - no public exploit identified at time of analysis. The signals do not conflict: a low CVSS, a local-only vector gated on user interaction, and the absence of KEV/EPSS/POC all point the same direction - a real but non-urgent hardening issue rather than a mass-exploitation priority. The main caveat is scale: alsa-lib is present on nearly every Linux audio system, so while individual exploitability is low, the affected population is huge, which is why vendor patching still matters. Note the fix (PR #527) bundles several unrelated hardening changes (path-traversal and assertion fixes) beyond the ctl.c integer overflow described by this CVE - verify the specific commit hunk (ctl.c lines ~1315/1419/1510) maps to this identifier.

Exploit ScenarioDerived

An attacker crafts a malicious ALSA topology (.tplg) file in which the mixer/enum/bytes control element size and private-data size fields are set so their 32-bit sum wraps around, defeating the decoder's bounds check. When a local user or an application processing untrusted topology data loads the file via alsa-lib's topology decoder, the decoder reads past the end of the topology buffer, leaking adjacent heap memory or crashing the process. No public exploit code is identified at time of analysis, and exploitation requires the victim to load the crafted file (UI:P).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 23, 2026

Integer overflow in the ALSA topology decoder of alsa-lib through 1.2.16.1 lets a crafted .tplg topology file wrap the combined control-element size calculation, so the decoder passes its bounds check and reads past the end of the topology buffer, potentially disclosing process memory or crashing the application. Exploitation is local (AV:L) and requires the victim to load an attacker-supplied topology file (UI:P/UI:R, PR:N); no public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV. Independent assessment rates the real-world risk as low-to-moderate: topology files are normally trusted, system-provided sound-card configuration data, so the flaw is only practically reachable where alsa-lib processes topology input from an untrusted source, and the demonstrated impact is limited to low confidentiality and low availability loss.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply the change set in alsa-project/alsa-lib pull request 527 (https://github.com/alsa-project/alsa-lib/pull/527), which is the vendor patch reference, and rebuild alsa-lib from that commit or from the next tagged upstream release, verifying the version you deploy rather than assuming a distribution package already carries it. The fix converts the three size computations in src/topology/ctl.c to size_t with proper overflow pre-checks; the same commit additionally rejects absolute configuration paths containing '/../', replaces assertions with bounds checks in pcm_multi, caps route channel counts, and confines UCM sysfs writes and cfg-save output to their expected roots, so taking the full PR also closes related local file-handling gaps. Until a patched build is deployed, the effective compensating control is to prevent untrusted topology input from reaching the decoder: keep .tplg files root-owned under the standard system topology directory (typically /usr/share/alsa/topology/) with restrictive permissions, and do not let unprivileged users, downloaded firmware bundles, or third-party applications substitute their own topology files - this directly removes the attacker's ability to deliver the crafted sizes and costs nothing functionally for normal sound-card use. Additional containment with trade-offs: run topology-loading processes with least privilege, ASLR enabled, and a seccomp/container profile that limits readable file descriptors and memory exposure, which reduces the value of any leak but may break tools that legitimately need broad filesystem or device access; and constrain memory mappings so an OOB read is more likely to fault than to return adjacent data, at the cost of turning a quiet disclosure into a process crash. Because exploitation requires the victim to load a malicious file (UI:P/UI:R, local only) and neither KEV listing nor public exploit code exists at time of analysis, prioritize patching by exposure - highest for systems that consume externally sourced topology or firmware content, lower for locked-down desktop and server audio stacks.

Affected VersionsENISA

alsa-lib 0 ≤1.2.16.1

Affected Packages

euvd alsa_lib no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

alsa-lib is the userspace C library that applications use to talk to the ALSA kernel sound subsystem, and its topology component parses binary .tplg files that describe sound-card controls, PCMs and routing. In src/topology/ctl.c, the decoder functions tplg_decode_control_mixer, tplg_decode_control_enum and tplg_decode_control_bytes each compute the total element size as size2 = mc->size + mc->priv.size (and the enum/bytes equivalents) using 32-bit int arithmetic before using size2 in a bounds check against the remaining buffer length. This is a classic CWE-190 integer overflow: supplying large size/priv.size fields can wrap the sum to a small or negative value, defeating the check that was meant to guarantee the read stays inside the topology buffer, and the subsequent copy/read then runs beyond the buffer, yielding an out-of-bounds read (information disclosure) or a crash. The upstream PR 527 rewrites these three sites to validate that priv.size is not greater than the remaining size and that size cannot exceed size - priv.size, then performs the addition in size_t so the arithmetic cannot wrap. The same PR also tightens unrelated areas - rejecting '/../' in absolute config paths in src/conf.c, replacing assertions with range checks in src/pcm/pcm_multi.c, capping client/slave channel counts in src/pcm/pcm_route.c, and adding realpath-based confinement for UCM sysfs writes and cfg-save output - indicating a hardening sweep of local file-driven parsing paths rather than an isolated single-line fix. The CPE entry cpe:2.3:a:alsa_project:alsa-lib:*:*:*:*:*:*:*:* is version-agnostic, consistent with the advisory scope of all releases through 1.2.16.1.

Know when Alsa Lib gets its next vulnerability

  • 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

Vendor (VulnCheck) PRIMARY 4.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 4.4 MEDIUM

Local file-parsing bug requiring the victim to load a crafted topology file (UI:R), yielding limited memory disclosure (C:L) and crash (A:L), no integrity impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:L/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE 4.4 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:L
Red Hat 4.4 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

alsa-lib through 1.2.16.1 computes combined topology element size using 32-bit arithmetic in src/topology/ctl.c, allowing integer overflow that defeats bounds checks. Attackers can supply crafted topology files that wrap size calculations, causing the decoder to read beyond the topology buffer and potentially leak sensitive data or crash the application.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Ubiquitous
alsa-lib is the core userspace audio library on virtually all Linux systems
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.4 Affected
SUSE Linux Enterprise Micro 5.5 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy