Vulnerability · Published Aug 22, 2026 · Assigned by Linux

CVE-2026-74640ALSA: FCP: fix OOB write in fcp_meter_ctl_get()

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.1% (higher than 2% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)7.8High
Exploit odds (30 days)0.1%top 97.6% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: ALSA: FCP: fix OOB write in fcp_meter_ctl_get() fcp_ioctl_set_meter_map() bounds the user-supplied Level Meter map size by the driver's own limit of 255 if (map.map_size < 1 || map.map_size > 255 || map.meter_slots < 1 || map.meter_slots > 255) return -EINVAL; and passes it to fcp_add_new_ctl() as the control's channel count, where it is stored as elem->channels. Every control read writes into struct snd_ctl_elem_value, whose integer array is declared long value[128], so the limit is 128, not 255. fcp_meter_ctl_get() stores one 64-bit word per channel into that array with no bound of its own: for (i = 0; i < elem->channels; i++) { int idx = private->meter_level_map[i]; int value = idx < 0 ? 0 : le32_to_cpu(resp[idx]); ucontrol->value.integer.value[i] = value; } snd_ctl_elem_read_user() serves that object from memdup_user(_control, sizeof(*control)), 1224 bytes on LP64 out of kmalloc-2048. offsetof(struct snd_ctl_elem_value, value) is 72, so element i is written at byte 72 + 8 * i and element 144 already lands past the allocation. At map_size 255 the last store ends at byte 2112, 888 bytes past the object and 64 bytes into the adjacent slab object. The stored words come from the device and meter_level_map[] selects which word lands in which slot, so extent and contents are both controlled. The core does not catch this. snd_ctl_check_elem_info() is reached only from __snd_ctl_elem_info(), which snd_ctl_elem_read() calls under CONFIG_SND_CTL_DEBUG; without that option snd_ctl_skip_validation() is a compile-time true. __snd_ctl_add_replace() validates kcontrol->count and never inspects elem->channels. Installing an oversized map needs CAP_SYS_RAWIO, but the control outlives the hwdep descriptor that created it, so the out-of-bounds stores are issued by any process able to read controls on /dev/snd/controlC0. KASAN on 7.2.0-rc5 (arm64), triggered by an unprivileged control read: BUG: KASAN: slab-out-of-bounds in fcp_meter_ctl_get Write of size 8 at addr ffff000017af04c8 by task fcp_trigger/185 __asan_store8 fcp_meter_ctl_get snd_ctl_elem_read snd_ctl_ioctl Allocated by task 185: memdup_user snd_ctl_ioctl The buggy address is located 0 bytes to the right of allocated 1224-byte region [ffff000017af0000, ffff000017af04c8) Bound the map size by the ABI limit rather than by 255, and bound the store loop at the sink so it cannot run past the value array whatever elem->channels holds. Discovered by XBOW, triaged by Baul Lee <baul.lee@xbow.com>

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:14linux7.1.9-1DEBIAN-CVE-2026-74640
Ubuntu:26.04:LTSlinux7.0.0-42.42UBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-aws7.0.0-1016.17UBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-gcp7.0.0-1016.18UBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-42.42~24.04.1UBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-ibm7.0.0-1017.17UBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1017.17UBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-oracle7.0.0-1015.16UBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-74640
Ubuntu:26.04:LTSlinux-riscv7.0.0-42.42.1UBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-74640
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-42.42.1~24.04.1UBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-74640
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-74640

Affected products (as reported)

VendorProductVersions
Linux Linux 46757a3e7d50dac923888e7fbe68377736f13c70 – before bb30e35c36ed00f24fa39aded811f64230a913b046757a3e7d50dac923888e7fbe68377736f13c70 – before bb61dc2ae59026f76db26e1909746908bc5b6f3146757a3e7d50dac923888e7fbe68377736f13c70 – before 620f1e52a46f604635efd0fb78138afd6a513b5d
Linux Linux 6.14

References