CVE-2026-46088

ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()

MEDIUM
5.5
CVSS Score
Published: May 27, 2026 at 12:58 PM UTC
Updated: October 15, 2026 at 02:19 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names() snd_ctl_elem_init_enum_names() advances pointer p through the names buffer while decrementing buf_len. If buf_len reaches zero but items remain, the next iteration calls strnlen(p, 0). While strnlen(p, 0) returns 0 and would hit the existing name_len == 0 error path, CONFIG_FORTIFY_SOURCE's fortified strnlen() first checks maxlen against __builtin_dynamic_object_size(). When Clang loses track of p's object size inside the loop, this triggers a BRK exception panic before the return value is examined. Add a buf_len == 0 guard at the loop entry to prevent calling fortified strnlen() on an exhausted buffer. Found by kernel fuzz testing through Xiaomi Smartphone.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.2 ≤ v < 5.10.2585.11 ≤ v < 5.15.2095.16 ≤ v < 6.1.1756.13 ≤ v < 6.18.276.19 ≤ v < 7.0.46.2 ≤ v < 6.6.1406.7 ≤ v < 6.12.863.28d448162bda5ae3b5ecb26fe50c8fbbeae99faa4
Vendor states this is fixed in 1fbe46d2b72754d8bd580e13e59ccb5d3d0e8cb0 (fixed)
Vendor states this is fixed in 654c818a69c21d2bea4e8fd9eae7da865df9a5c8 (fixed)
Vendor states this is fixed in 708f6ec9bcdf58bfd561409110baaf4fd3be4ea3 (fixed)
Vendor states this is fixed in 82012fd3e78a14360fbc2f1a7491589896704f97 (fixed)
Vendor states this is fixed in 8ba0214c3dd32b8ec652947e3f2bc5b8f6e6be9e (fixed)
Vendor states this is fixed in a470f7cabc4df72d9bd132f5719a8717292bb440 (fixed)
Vendor states this is fixed in bfcbb4994da9e979c4bcfcf24aaaac69e457e48e (fixed)
Vendor states this is fixed in e0da8a8cac74f4b9f577979d131f0d2b88a84487 (fixed)
Vendor states this is fixed in 3.2 (unaffected)
Vendor states this is fixed in 5.10.258 (unaffected)
Vendor states this is fixed in 5.15.209 (unaffected)
Vendor states this is fixed in 6.1.175 (unaffected)
Vendor states this is fixed in 6.12.86 (unaffected)
Vendor states this is fixed in 6.18.27 (unaffected)
Vendor states this is fixed in 6.6.140 (unaffected)
Vendor states this is fixed in 7.0.4 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card