CVE-2026-46088 ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()
A missing buffer length check in the Linux kernel ALSA control interface can cause a kernel panic via fortified string functions, leading to denial of service.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Local or same network only
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-46088?
CVE-2026-46088 is a medium-severity vulnerability in Linux kernel, published on 27 May 2026. It can only be exploited from the same machine or local network, with no action from the victim.
Official 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.
Which versions are affected by CVE-2026-46088?
It affects 1 product.
Products include Linux kernel.
How do I fix CVE-2026-46088?
Apply the vendor's patch.
Is CVE-2026-46088 being exploited?
There is no known exploitation of CVE-2026-46088 in the wild and no public exploit code.
Other vulnerabilities in Linux kernel
Sources
Also known as AZL-88728, BELL-CVE-2026-46088, DEBIAN-CVE-2026-46088, GHSA-r965-2mvq-7ghh, ROOT-OS-DEBIAN-11-CVE-2026-46088, ROOT-OS-DEBIAN-12-CVE-2026-46088 and 3 more.