CVE-2023-52904
NoneCVSS
—
EPSS
0.3%
Published
Aug 21, 2024
CISA due date
—
Cloudanix analysis
A bug in how Linux handles certain USB audio devices could cause the computer to crash unexpectedly until the software is updated.
- Exploitation
- Local Privilege
- Attacker needs
- Local User
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- OS kernel
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
NULL pointer dereference in ALSA usb-audio driver when snd_usb_pcm_has_fixed_rate receives a NULL subs argument and dereferences it before the NULL check, resulting in kernel memory corruption or panic.
Why it matters to the business
Unexpected kernel crashes on systems using USB audio devices can interrupt operations, reduce availability, and require reboots; low exploitability and absence from KEV limit immediate targeted risk but patching remains necessary for stability across Linux and Android deployments.
How an attack unfolds
An attacker supplies or emulates a USB audio device that triggers audio PCM rate handling paths, causing the vulnerable function to be invoked with a NULL subs pointer and dereference it before validation.
How to fix it
Upgrade Linux kernel to 5.15.168 or apply commit f57204edc10760c935d8d36ea999dc8acf018030; update affected Android frameworks/base releases to the 2022-05-01 fixed versions for API levels 10, 11, 12, and 12L.
How to confirm the fix worked
Confirm kernel version is at or above the fixed release, inspect the snd_usb_pcm_has_fixed_rate function for the NULL check on subs before use, and verify no oops entries reference the function after USB audio activity.
Typical attack path
- Gain local access or physical proximity to attach a USB device
- Present a USB audio interface that exercises snd_usb_pcm_has_fixed_rate
- Force the function call with NULL subs argument
- Trigger NULL dereference leading to kernel panic or corruption
How to detect it
Review kernel logs and dmesg for oops or panic messages containing snd_usb_pcm_has_fixed_rate or usb-audio NULL pointer dereference around USB device attach or audio PCM initialization events.
What your security team should do
- Apply kernel and Android updates to the listed fixed versions immediately on systems exposing USB audio
- Monitor kernel logs for ALSA-related NULL dereference panics until patches are deployed
- Restrict untrusted USB audio devices on high-value systems pending remediation
The record
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: Fix possible NULL pointer dereference in snd_usb_pcm_has_fixed_rate() The subs function argument may be NULL, so do not use it before the NULL check.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | hyperv-daemons | 0 | 0 |
| Chainguard | hyperv-daemons-6.12 | 0 | 0 |
| Chainguard | hyperv-daemons-6.18 | 0 | 0 |
| Chainguard | hyperv-daemons-generic | 0 | 0 |
| Chainguard | linux | 0 | 0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-aws-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-aws-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.12-headers | 0 | 0 |
| Chainguard | linux-aws-6.12-modules | 0 | 0 |
| Chainguard | linux-aws-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-aws-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-aws-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-6.18-headers | 0 | 0 |
| Chainguard | linux-aws-6.18-modules | 0 | 0 |
| Chainguard | linux-aws-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-aws-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-aws-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-aws-generic-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-aws-generic-headers | 0 | 0 |
| Chainguard | linux-aws-generic-modules | 0 | 0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-azure-6.12 | 0 | 6.12.65-r1 |
| Chainguard | linux-azure-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.12-headers | 0 | 0 |
| Chainguard | linux-azure-6.12-modules | 0 | 0 |
| Chainguard | linux-azure-6.18 | 0 | 0 |
| Chainguard | linux-azure-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-6.18-headers | 0 | 0 |
| Chainguard | linux-azure-6.18-modules | 0 | 0 |
| Chainguard | linux-azure-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-azure-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-azure-generic-boot-configuration | 0 | 0 |
| Chainguard | linux-azure-generic-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-azure-generic-headers | 0 | 0 |
| Chainguard | linux-azure-generic-modules | 0 | 0 |
| Chainguard | linux-boot-configuration | 0 | 0 |
| Chainguard | linux-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.63-r0 |
| Chainguard | linux-gcp-6.12 | 0 | 6.12.65-r0 |
| Chainguard | linux-gcp-6.12-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.12-headers | 0 | 0 |
| Chainguard | linux-gcp-6.12-modules | 0 | 0 |
| Chainguard | linux-gcp-6.18 | 0 | 6.18.4-r0 |
| Chainguard | linux-gcp-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-gcp-6.18-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-6.18-headers | 0 | 0 |
| Chainguard | linux-gcp-6.18-modules | 0 | 0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-gcp-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-gcp-generic-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-gcp-generic-headers | 0 | 0 |
| Chainguard | linux-gcp-generic-modules | 0 | 0 |
| Chainguard | linux-modules | 0 | 0 |
| Chainguard | linux-qemu-6.12 | 0 | 6.12.65-r2 |
| Chainguard | linux-qemu-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-qemu-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-qemu-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-qemu-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.4-r0 |
| Chainguard | linux-qemu-generic-bootc-boot-installed | 0 | 6.18.5-r0 |
| Chainguard | linux-qemu-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-generic-headers | 0 | 0 |
| Chainguard | linux-qemu-generic-modules | 0 | 0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc4-r0 |
| Chainguard | linux-qemu-rc | 0 | 6.19_rc5-r0 |
| Chainguard | linux-qemu-rc-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-fips-boot-installed | 0 | 0 |
| Chainguard | linux-qemu-rc-headers | 0 | 0 |
| Chainguard | linux-qemu-rc-modules | 0 | 0 |
| Chainguard | linux-vmware-6.12 | 0 | 6.12.65-r2 |
| Chainguard | linux-vmware-6.12-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-fips-boot-installed | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-headers | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.12-modules | 0 | 6.12.63-r0 |
| Chainguard | linux-vmware-6.18 | 0 | 6.18.5-r2 |
| Chainguard | linux-vmware-6.18-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-fips-boot-installed | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-headers | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-6.18-modules | 0 | 6.18.2-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.3-r0 |
| Chainguard | linux-vmware-generic | 0 | 6.18.5-r0 |
| Chainguard | linux-vmware-generic-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-fips-boot-installed | 0 | 0 |
| Chainguard | linux-vmware-generic-headers | 0 | 0 |
| Chainguard | linux-vmware-generic-modules | 0 | 0 |
| Debian:12 | linux | 0 | 6.1.7-1 |
| Debian:13 | linux | 0 | 6.1.7-1 |
| Linux | Kernel | 5.15.152 | 5.15.168 |
| SUSE:Linux Enterprise High Availability Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5-RT_Update_19 | 0 | 1-150500.11.3.2 |
| SUSE:Linux Enterprise Live Patching 15 SP5 | kernel-livepatch-SLE15-SP5_Update_19 | 0 | 1-150500.11.3.2 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-default-base | 0 | 5.14.21-150500.55.80.2.150500.6.35.6 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-rt | 0 | 5.14.21-150500.13.67.3 |
| SUSE:Linux Enterprise Micro 5.5 | kernel-source-rt | 0 | 5.14.21-150500.13.67.3 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-64kb | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-default-base | 0 | 5.14.21-150500.55.80.2.150500.6.35.6 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP5 | kernel-zfcpdump | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-docs | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-obs-build | 0 | 5.14.21-150500.55.80.1 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Development Tools 15 SP5 | kernel-syms | 0 | 5.14.21-150500.55.80.1 |
| SUSE:Linux Enterprise Module for Legacy 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-azure | 0 | 5.14.21-150500.33.66.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | 0 | 5.14.21-150500.33.66.1 |
| SUSE:Linux Enterprise Module for Public Cloud 15 SP5 | kernel-syms-azure | 0 | 5.14.21-150500.33.66.1 |
| SUSE:Linux Enterprise Workstation Extension 15 SP5 | kernel-default | 0 | 5.14.21-150500.55.80.2 |
| SUSE:Real Time Module 15 SP5 | kernel-rt | 0 | 5.14.21-150500.13.67.3 |
| SUSE:Real Time Module 15 SP5 | kernel-rt_debug | 0 | 5.14.21-150500.13.67.3 |
| SUSE:Real Time Module 15 SP5 | kernel-source-rt | 0 | 5.14.21-150500.13.67.3 |
| SUSE:Real Time Module 15 SP5 | kernel-syms-rt | 0 | 5.14.21-150500.13.67.1 |
| Ubuntu:14.04:LTS | linux | 0 | 3.11.0-12.19 |
| Ubuntu:14.04:LTS | linux-aws | 0 | 4.4.0-1002.2 |
| Ubuntu:14.04:LTS | linux-azure | 0 | 4.15.0-1023.24~14.04.1 |
| Ubuntu:14.04:LTS | linux-lts-xenial | 0 | 4.4.0-13.29~14.04.1 |
| Ubuntu:16.04:LTS | linux | 0 | 4.4.0-2.16 |
| Ubuntu:16.04:LTS | linux-aws | 0 | 4.4.0-1001.10 |
| Ubuntu:16.04:LTS | linux-aws-hwe | 0 | 4.15.0-1030.31~16.04.1 |
| Ubuntu:16.04:LTS | linux-azure | 0 | 4.11.0-1009.9 |
| Ubuntu:16.04:LTS | linux-gcp | 0 | 4.10.0-1004.4 |
| Ubuntu:16.04:LTS | linux-hwe | 0 | 4.8.0-39.42~16.04.1 |
| Ubuntu:16.04:LTS | linux-hwe-edge | 0 | No fix |
| Ubuntu:16.04:LTS | linux-kvm | 0 | 4.4.0-1004.9 |
| Ubuntu:16.04:LTS | linux-oracle | 0 | 4.15.0-1007.9~16.04.1 |
| Ubuntu:18.04:LTS | linux | 0 | 4.13.0-16.19 |
| Ubuntu:18.04:LTS | linux-aws | 0 | 4.15.0-1001.1 |
| Ubuntu:18.04:LTS | linux-aws-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-aws-5.4 | 0 | 5.4.0-1018.18~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-4.15 | 0 | 4.15.0-1082.92 |
| Ubuntu:18.04:LTS | linux-azure-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-azure-5.4 | 0 | 5.4.0-1020.20~18.04.1 |
| Ubuntu:18.04:LTS | linux-azure-edge | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-4.15 | 0 | 4.15.0-1071.81 |
| Ubuntu:18.04:LTS | linux-gcp-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gcp-5.4 | 0 | 5.4.0-1019.19~18.04.2 |
| Ubuntu:18.04:LTS | linux-gke-4.15 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gke-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-gkeop-5.4 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe | 0 | No fix |
| Ubuntu:18.04:LTS | linux-hwe-5.4 | 0 | 5.4.0-37.41~18.04.1 |
| Ubuntu:18.04:LTS | linux-hwe-edge | 0 | 5.0.0-15.16~18.04.1 |
| Ubuntu:18.04:LTS | linux-ibm-5.4 | 0 | 5.4.0-1010.11~18.04.2 |
| Ubuntu:18.04:LTS | linux-kvm | 0 | 4.15.0-1002.2 |
| Ubuntu:18.04:LTS | linux-oem | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle | 0 | 4.15.0-1007.9 |
| Ubuntu:18.04:LTS | linux-oracle-5.0 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.3 | 0 | No fix |
| Ubuntu:18.04:LTS | linux-oracle-5.4 | 0 | 5.4.0-1019.19~18.04.1 |
| Ubuntu:18.04:LTS | linux-raspi-5.4 | 0 | 5.4.0-1013.13~18.04.1 |
| Ubuntu:20.04:LTS | linux | 0 | 5.4.0-9.12 |
| Ubuntu:20.04:LTS | linux-aws | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-aws-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-aws-5.15 | 0 | 5.15.0-1073.79~20.04.1 |
| Ubuntu:20.04:LTS | linux-aws-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure | 0 | 5.4.0-1006.6 |
| Ubuntu:20.04:LTS | linux-azure-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-5.15 | 0 | 5.15.0-1078.87~20.04.1 |
| Ubuntu:20.04:LTS | linux-azure-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde | 0 | No fix |
| Ubuntu:20.04:LTS | linux-azure-fde-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-bluefield | 0 | 5.4.0-1007.10 |
| Ubuntu:20.04:LTS | linux-gcp | 0 | 5.4.0-1005.5 |
| Ubuntu:20.04:LTS | linux-gcp-5.11 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.13 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gcp-5.15 | 0 | 5.15.0-1072.80~20.04.1 |
| Ubuntu:20.04:LTS | linux-gcp-5.8 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gke-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-gkeop | 0 | 5.4.0-1008.9 |
| Ubuntu:20.04:LTS | linux-gkeop-5.15 | 0 | No fix |
| Ubuntu:20.04:LTS | linux-hwe-5.11 | 0 | No fix |
Related vulnerabilities
- CVE-2023-39180 A flaw was found within the handling of SMB2_READ commands in the kernel ksmbd module. Also affects hyperv-daemons
- CVE-2023-39179 A flaw was found within the handling of SMB2 read requests in the kernel ksmbd module. Also affects hyperv-daemons
- CVE-2023-39176 A flaw was found within the parsing of SMB2 requests that have a transform header in the… Also affects hyperv-daemons
- CVE-2023-4458 A flaw was found within the parsing of extended attributes in the kernel ksmbd module. Also affects hyperv-daemons
- CVE-2024-38381 In the Linux kernel, the following vulnerability has been resolved: nfc: nci: Fix… Also affects hyperv-daemons
- CVE-2023-6535 A flaw was found in the Linux kernel's NVMe driver. Also affects hyperv-daemons
- CVE-2023-6270 A flaw was found in the ATA over Ethernet (AoE) driver in the Linux kernel. Also affects hyperv-daemons
- CVE-2024-0193 A use-after-free flaw was found in the netfilter subsystem of the Linux kernel. Also affects hyperv-daemons