CVE-2026-46088
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.
How to fix
- linux linux_kernel5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 or later
- git.kernel.org/stable/c/1fbe46d2b72754d8bd580e13e59ccb5d3d0e8cb0
- git.kernel.org/stable/c/654c818a69c21d2bea4e8fd9eae7da865df9a5c8
- git.kernel.org/stable/c/708f6ec9bcdf58bfd561409110baaf4fd3be4ea3
- git.kernel.org/stable/c/82012fd3e78a14360fbc2f1a7491589896704f97
- git.kernel.org/stable/c/8ba0214c3dd32b8ec652947e3f2bc5b8f6e6be9e
- git.kernel.org/stable/c/a470f7cabc4df72d9bd132f5719a8717292bb440
- git.kernel.org/stable/c/bfcbb4994da9e979c4bcfcf24aaaac69e457e48e
- git.kernel.org/stable/c/e0da8a8cac74f4b9f577979d131f0d2b88a84487
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| linux linux_kernel | 3.2 ≤ v < 5.10.258, 5.11 ≤ v < 5.15.209, 5.16 ≤ v < 6.1.175, 6.2 ≤ v < 6.6.140, 6.7 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.27, 6.19 ≤ v < 7.0.4 | 5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.86, 6.18.27, 7.0.4 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.