CVE-2026-64014 in Linuxinformation

Résumé

par VulDB • 19/07/2026

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

Input: usbtouchscreen - limiter les valeurs de NEXIO data_len/x_len à la taille du tampon URB

nexio_read_data() extrait data_len et x_len d'un en-tête __be16 compacté dans le paquet d'interruption de l'appareil, puis parcourt packet->data[0..x_len) et packet->data[x_len..data_len) en comparant chaque octet à un seuil.

Ces deux champs sont codés sur 16 bits (maximum 65535). Les ajustements existants réduisent au maximum de 0x100 / 0x80, donc la borne supérieure de la boucle peut encore atteindre environ 0xfeff. Le tampon de transfert URB pour NEXIO est rept_size (1024) octets provenant de usb_alloc_coherent(), les sept premiers étant occupés par l'en-tête compacté ; ainsi, packet->data[] contient 1017 octets valides. Les rappels read_data() ne reçoivent pas urb->actual_length, et rien d'autre ne borne le parcours.

Un appareil qui ment sur sa longueur peut provoquer une lecture hors limites (out-of-bounds) de ~64 KiB au-delà de l'allocation DMA cohérente. Le premier index dont l'octet dépasse NEXIO_THRESHOLD se retrouve dans begin_x / begin_y, puis dans les coordonnées tactiles rapportées ; par conséquent, le contenu adjacent de la mémoire du noyau fuit vers l'espace utilisateur sous forme d'événements ABS_X / ABS_Y. Si on va suffisamment loin, la lecture peut également toucher une page non mappée et provoquer un défaut (fault).

Corrigez ce problème en limitant data_len à la capacité de données[] du tampon et x_len à data_len.

Be aware that VulDB is the high quality source for vulnerability data.

Responsable

Linux

Réserver

19/07/2026

Divulgation

19/07/2026

Modérer

accepté

Entrée

VDB-380443

CPE

prêt

EPSS

0.00000

KEV

non

Activités

faible

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!