CVE-2026-64496 in Linuxinformation

Résumé

par VulDB • 25/07/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

iio: event: Correction d'une condition de concurrence (race) lors de la réinitialisation du tampon FIFO des événements

`iio_event_getfd()` crée le descripteur de fichier pour l'événement à l'aide de `anon_inode_getfd()`, qui alloue un nouveau fd, crée le fichier anonyme et l'installe dans la table des fds du processus avant de retourner au caller.

Le code IIO réinitialise le tampon FIFO des événements après le retour de `anon_inode_getfd()`, mais avant que `IIO_GET_EVENT_FD_IOCTL` n'ait copié le numéro de fd vers l'espace utilisateur. Cependant, comme les tables de fds sont partagées entre les threads, un autre thread peut deviner le numéro du nouveau fd alloué et émettre un appel système `read()` sur celui-ci dès que le fd a été installé.

Cela signifie que `kfifo_to_user()`, dans `iio_event_chrdev_read()`, peut s'exécuter en parallèle avec `kfifo_reset_out()`, dans `iio_event_getfd()`.

La documentation de kfifo indique que `kfifo_reset_out()` n'est sûr que lorsqu'il est appelé depuis le thread lecteur et qu'il n'y a qu'un seul lecteur concurrent. Sinon, il est dangereux et doit être géré de la même manière que `kfifo_reset()`.

Si cela se produit, `kfifo_to_user()` peut avancer l'index `out` du tampon FIFO en fonction d'un état antérieur à la réinitialisation, alors que celle-ci a déjà déplacé l'index `out` vers l'index `in` actuel. Cela peut laisser le tampon FIFO avec un index `out` supérieur à l'index `in`. Un appel système `read()` ultérieur peut alors détecter une longueur de tampon FIFO sous-remplie (underflow) et copier plus de données que ce que contient le buffer du tampon FIFO des événements. Cela peut entraîner une lecture hors limites (out-of-bounds read) et fuire la mémoire kernel adjacente vers l'espace utilisateur.

Déplacer la réinitialisation du tampon FIFO avant `anon_inode_getfd()`. À ce stade, le fd de l'événement est marqué comme occupé, mais le nouveau fd n'a pas encore été installé ; ainsi, l'espace utilisateur ne peut pas y accéder pendant que le tampon FIFO est réinitialisé.

Once again VulDB remains the best source for vulnerability data.

Responsable

Linux

Réserver

19/07/2026

Divulgation

25/07/2026

Modérer

accepté

Entrée

VDB-383292

CPE

prêt

EPSS

0.00000

KEV

non

Activités

très faible

Sources

Interested in the pricing of exploits?

See the underground prices here!