CVE-2026-46088

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

State
Published
Severity
Not scored
Published
May 27, 2026
Updated
Oct 15, 2026
Reserved
May 13, 2026

Read the record on cve.org

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.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before 708f6ec9bcdf58bfd561409110baaf4fd3be4ea3Affected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before bfcbb4994da9e979c4bcfcf24aaaac69e457e48eAffected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before a470f7cabc4df72d9bd132f5719a8717292bb440Affected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before 1fbe46d2b72754d8bd580e13e59ccb5d3d0e8cb0Affected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before 8ba0214c3dd32b8ec652947e3f2bc5b8f6e6be9eAffected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before 654c818a69c21d2bea4e8fd9eae7da865df9a5c8Affected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before 82012fd3e78a14360fbc2f1a7491589896704f97Affected
  • 8d448162bda5ae3b5ecb26fe50c8fbbeae99faa4 to before e0da8a8cac74f4b9f577979d131f0d2b88a84487Affected
LinuxLinux
  • 3.2Affected
  • before 3.2Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.140 through 6.6.*Not affected
  • 6.12.86 through 6.12.*Not affected
  • 6.18.27 through 6.18.*Not affected
  • 7.0.4 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.