Cloudanix VulnDB

CVE-2025-38729

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Sep 4, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A bug in the Linux kernel's handling of USB audio devices could allow someone with physical access to corrupt system memory and potentially take control of the machine.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Low
Impact
Full Compromise
Component
OS kernel
Class
Memory Corruption
Remediation
Patch
Effort
Medium
Patch risk
Low

What it actually does

The vulnerability allows out-of-bounds memory accesses in the ALSA usb-audio driver when processing UAC3 power domain descriptors whose bLength field is not validated against the actual descriptor size.

Why it matters to the business

Linux systems handling USB audio devices can be compromised by malicious firmware, leading to kernel-level memory corruption that may enable local privilege escalation or denial of service on affected endpoints.

How an attack unfolds

An attacker supplies a malicious USB audio device containing a crafted UAC3 power domain descriptor with an invalid bLength value. When the kernel parses the descriptor without length validation, it performs out-of-bounds reads or writes, potentially allowing code execution or further privilege escalation within the kernel context.

How to fix it

Update the Linux kernel to a version containing commit 1666207ba0a5973735ef010812536adde6174e81 or later stable releases that include the UAC3 power domain descriptor validation fix.

How to confirm the fix worked

Verify the running kernel contains commit 1666207ba0a5973735ef010812536adde6174e81 by checking git log or kernel version strings after applying updates; test with known-good UAC3 devices to confirm descriptor parsing succeeds without crashes.

Typical attack path

  1. Attacker crafts a USB device with a malformed UAC3 power domain descriptor
  2. Device is connected to a vulnerable Linux system
  3. Kernel usb-audio driver parses the descriptor without validating bLength
  4. Out-of-bounds memory access occurs leading to corruption
  5. Attacker leverages corruption for privilege escalation or system instability

How to detect it

Review kernel logs for usb-audio or ALSA errors during USB device enumeration; look for unexpected crashes or OOB-related warnings when connecting USB audio hardware; correlate with physical device insertion timestamps.

What your security team should do

  • Prioritize kernel updates to the fixed commit across all Linux distributions and embedded devices using ALSA usb-audio
  • Restrict physical USB device access on high-risk systems until patched
  • Monitor for USB audio device connection events in system logs as part of broader endpoint hardening

The record

In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Validate UAC3 power domain descriptors, too UAC3 power domain descriptors need to be verified with its variable bLength for avoiding the unexpected OOB accesses by malicious firmware, too.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 No fix
Debian:12 linux 0 No fix
Debian:13 linux 0 6.12.43-1
Debian:14 linux 0 6.16.3-1
Linux Kernel 4.17.0 5.4.297
Mageia:9 kernel 0 6.6.105-1.mga9
Mageia:9 kernel-linus 0 6.6.105-1.mga9
Mageia:9 kmod-virtualbox 0 7.1.10-10.mga9
Mageia:9 kmod-xtables-addons 0 3.24-86.mga9
Mageia:9 mageia-repos 0 9-4.mga9
Mageia:9 meta-task 0 9-4.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise High Availability Extension 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Live Patching 12 SP5 kernel-default 0 4.12.14-122.275.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_73 0 1-8.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_16 0 1-150600.1.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_16 0 1-150600.13.3.1
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_6 0 1-150700.15.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.73.1.150600.12.32.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-64kb 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-default-base 0 6.4.0-150700.53.22.1.150700.17.15.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-source 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-zfcpdump 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-docs 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-obs-build 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-source 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-syms 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Module for Legacy 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.52.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-azure 0 6.4.0-150700.20.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-source-azure 0 6.4.0-150700.20.18.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-syms-azure 0 6.4.0-150700.20.18.1
SUSE:Linux Enterprise Server 12 SP5-LTSS kernel-default 0 4.12.14-122.275.1
SUSE:Linux Enterprise Server 12 SP5-LTSS kernel-source 0 4.12.14-122.275.1
SUSE:Linux Enterprise Server 12 SP5-LTSS kernel-syms 0 4.12.14-122.275.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 kernel-default 0 4.12.14-122.275.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 kernel-source 0 4.12.14-122.275.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 kernel-syms 0 4.12.14-122.275.1
SUSE:Linux Enterprise Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.73.1
SUSE:Linux Enterprise Workstation Extension 15 SP7 kernel-default 0 6.4.0-150700.53.22.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.55.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.55.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.55.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.73.1.150600.12.32.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.73.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.52.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.55.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.73.1
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.6.1.160000.2.4
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.6.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.6.1

Related vulnerabilities