CVE Database›Document archive›CVE-2023-53788

CVE-2023-53788

kernel: ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()

Loading…

Severity

Moderate

Red Hat Product Security

6.1

CVSS 3.1

Review impact separately from score.

Published · December 9, 2025

Updated · July 8, 2026

Description

In the Linux kernel, the following vulnerability has been resolved:

ALSA: hda/ca0132: fixup buffer overrun at tuning_ctl_set()

tuning_ctl_set() might have buffer overrun at (X) if it didn't break from loop by matching (A).

static int tuning_ctl_set(...)
{
	for (i = 0; i < TUNING_CTLS_COUNT; i++)

(A) if (nid == ca0132_tuning_ctls[i].nid) break;

	snd_hda_power_up(...);

(X) dspio_set_param(..., ca0132_tuning_ctls[i].mid, ...); snd_hda_power_down(...); ^

	return 1;
}

We will get below error by cppcheck

sound/pci/hda/patch_ca0132.c:4229:2: note: After for loop, i has value 12
 for (i = 0; i < TUNING_CTLS_COUNT; i++)
 ^
sound/pci/hda/patch_ca0132.c:4234:43: note: Array index out of bounds
 dspio_set_param(codec, ca0132_tuning_ctls[i].mid, 0x20,
                                           ^

This patch cares non match case.

Statement

The ca0132 HDA driver’s tuning_ctl_set() performs an array access even when the loop failed to find a matching nid, leading to an out-of-bounds read of ca0132_tuning_ctls[i]. A local user with access to ALSA mixer controls can trigger this via control writes, potentially causing a kernel crash (DoS) or undefined DSP parameter usage.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

No mitigation is specified in collected source.

CVSS / CWE

CVSS 3.1 · 6.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:H

CWE-129 · Improper Validation of Array Index