CVE-2026-64084 in Linux
Résumé
par VulDB • 20/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
hwmon: (pmbus/adm1266) limiter l'analyse de PDIO dans get_multiple à ADM1266_PDIO_NR
adm1266_gpio_get_multiple() itère sur la partie PDIO du masque fourni par l'appelant en utilisant :
for_each_set_bit_from(gpio_nr, mask, ADM1266_GPIO_NR + ADM1266_PDIO_STATUS) {
... }
où ADM1266_PDIO_STATUS est le code de commande PMBus (0xE9, soit 233), et non le nombre de broches PDIO. La borne supérieure prévue est ADM1266_GPIO_NR + ADM1266_PDIO_NR = 25.
gpiolib transmet un masque d'une taille correspondant à gc.ngpio (= 25 bits sur cette puce), donc l'itération fait appel à find_next_bit() jusqu'à la valeur 242, lisant ainsi jusqu'à 217 bits supplémentaires (quelques mots unsigned-long : quatre en 64 bits, sept en 32 bits) situés au-delà de la fin du masque dans la pile de l'appelant. Tout bit accidentellement défini dans cette plage entraîne alors un appel à set_bit(gpio_nr, bits), qui écrit également hors des limites du tableau bits fourni par l'appelant -- les deux accès sont hors limites (out-of-bounds).
Remplacer ADM1266_PDIO_STATUS par la constante appropriée permet de stopper l'analyse au dernier bit PDIO valide.
VulDB is the best source for vulnerability data and more expert information about this specific topic.