CVE-2026-64014 in Linuxinformazioni

Riassunto

di VulDB • 19/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

Input: usbtouchscreen - limitare i valori di NEXIO data_len/x_len alla dimensione del buffer URB

nexio_read_data() estrae data_len e x_len da un'intestazione __be16 compatta presente nel pacchetto interrupt del dispositivo, quindi esegue l'iterazione su packet->data[0..x_len) e packet->data[x_len..data_len), confrontando ogni byte con una soglia.

Entrambi i campi sono a 16 bit sul canale (massimo 65535). Le regolazioni esistenti riducono al massimo di 0x100 / 0x80, quindi il limite del ciclo può ancora raggiungere circa 0xfeff. Il buffer di trasferimento URB per NEXIO ha una dimensione rept_size (1024) byte allocata tramite usb_alloc_coherent(), con i primi 7 occupati dall'intestazione compatta; pertanto packet->data[] dispone di 1017 byte validi. Le callback read_data() non ricevono urb->actual_length e nessun altro elemento delimita l'iterazione.

Un dispositivo che fornisce valori falsi sulla lunghezza può causare una lettura fuori dai limiti (out-of-bounds) di circa 64 KiB oltre l'allocazione DMA coerente. Il primo indice il cui byte supera NEXIO_THRESHOLD viene memorizzato in begin_x / begin_y e, da lì, nelle coordinate del touch riportate; ciò provoca la fuoriuscita (leak) dei contenuti della memoria kernel adiacenti verso userspace sotto forma di eventi ABS_X / ABS_Y. Leggermente oltre tale limite, la lettura può anche colpire una pagina non mappata causando un fault.

Si risolve il problema limitando data_len alla capacità del buffer [data[]] e x_len a data_len.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

19/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

basso

Fonti

Interested in the pricing of exploits?

See the underground prices here!