Aller au contenu
Non notée

CVE-2026-46088 ALSA: control: Validate buf_len before strnlen() in snd_ctl_elem_init_enum_names()

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.

Produits et versions touchés

Produit Versions touchées Corrigé en
Linux 7.1 premières → < 7.1 7.1
Linux 7.0 premières → < 7.0.4 7.0.4
Linux 6.18 premières → < 6.18.27 6.18.27
Linux 6.12 premières → < 6.12.86 6.12.86
Linux 6.6 premières → < 6.6.140 6.6.140
Linux 6.1 premières → < 6.1.175 6.1.175
Linux 5.15 premières → < 5.15.209 5.15.209
Linux 5.10 premières → < 5.10.258 5.10.258
Linux 3.2 Pas de correctif indiqué
Afficher l’autre branche
Produit Versions touchées Corrigé en
SIMATIC S7-1500 TM MFP - GNU/Linux subsystem Versions non publiées
Les 18283 CVE de Linux →
Suivre cette CVE