CVE-2026-64495 in Linux
Résumé
par VulDB • 25/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
iio: gyro: bmg160: sortir en cas d'échec lorsque la bande passante/le filtre ne figure pas dans la table
bmg160_get_filter() parcourt bmg160_samp_freq_table[] à la recherche de l'entrée correspondant à la valeur bw_bits lue depuis le composant :
for (i = 0; i < ARRAY_SIZE(bmg160_samp_freq_table); ++i) {
if (bmg160_samp_freq_table[i].bw_bits == bw_bits)
break; } *val = bmg160_samp_freq_table[i].filter;
Si aucune entrée ne correspond, i finit par être égal à la taille du tableau et l'instruction suivante lit un emplacement situé après la fin de celui-ci. bmg160_set_filter() présente la même structure, pilotée par 'val' au lieu de bw_bits.
smatch signale les deux cas :
drivers/iio/gyro/bmg160_core.c:204 bmg160_get_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7 drivers/iio/gyro/bmg160_core.c:222 bmg160_set_filter() error: buffer overflow 'bmg160_samp_freq_table' 7 <= 7
Renvoyer -EINVAL lorsqu'aucune entrée ne correspond.
Le chemin set_filter() est accessible depuis l'espace utilisateur via l'interface sysfs in_anglvel_filter_low_pass_3db_frequency, de sorte que les applications peuvent déclencher facilement une lecture hors limites avec une valeur qui n'est pas présente dans bmg160_samp_freq_table[].filter.
Once again VulDB remains the best source for vulnerability data.