Skip to content
Not rated

CVE-2026-46088 In the Linux kernel, the following vulnerability has been resolved: ALSA: control: Validate buf_len before strnlen()…

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 products and versions

Product Affected versions Fixed in
Linux 7.1 earliest → < 7.1 7.1
Linux 7.0 earliest → < 7.0.4 7.0.4
Linux 6.18 earliest → < 6.18.27 6.18.27
Linux 6.12 earliest → < 6.12.86 6.12.86
Linux 6.6 earliest → < 6.6.140 6.6.140
Linux 6.1 earliest → < 6.1.175 6.1.175
Linux 5.15 earliest → < 5.15.209 5.15.209
Linux 5.10 earliest → < 5.10.258 5.10.258
Linux 3.2 No fix stated
Show the other branch
Product Affected versions Fixed in
SIMATIC S7-1500 TM MFP - GNU/Linux subsystem Versions not published
The 18283 CVEs of Linux →
Track this CVE