CVE-2026-64293 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

iommufd: Utilizzare sizeof(*hdr) invece di sizeof(hdr) nella lettura di veventq

Il controllo dei limiti in iommufd_veventq_fops_read() per il percorso normale vEVENT utilizza sizeof(hdr), mentre il codice circostante usa sizeof(*hdr):

if (!vevent_for_lost_events_header(cur) && sizeof(hdr) + cur->data_len > count - done) {

hdr è dichiarato come struct iommufd_vevent_header *, quindi sizeof(hdr) valuta la dimensione del puntatore. Il codice circostante utilizza in modo coerente sizeof(*hdr):

if (done >= count || sizeof(*hdr) > count - done) {
... if (copy_to_user(buf + done, hdr, sizeof(*hdr))) {
... done += sizeof(*hdr);

struct iommufd_vevent_header è attualmente di 8 byte (due campi __u32, flags e sequence), quindi su sistemi a 64 bit (sizeof(void *) == 8) le due espressioni coincidono per caso e il controllo funziona come previsto.

Su sistemi a 32 bit (sizeof(void *) == 4) il controllo sottostima l'intestazione di 4 byte: un vEVENT la cui data_len fa sì che 8 + cur->data_len superi count - done, mentre 4 + cur->data_len non lo faccia, passerà il controllo; successivamente il ciclo eseguirà copy_to_user per copiare 8 byte dell'intestazione seguiti da data_len byte del payload, scrivendo oltre il buffer fornito dall'utente.

Si tratta inoltre di un bug latente in caso di futura espansione di struct iommufd_vevent_header oltre sizeof(void *) su sistemi a 64 bit; il controllo non dovrebbe dipendere dal fatto che il tipo coincida per caso con la larghezza del puntatore dell'host.

Utilizzare sizeof(*hdr) per corrispondere al resto della funzione e alla quantità effettiva di dati da copiare.

Once again VulDB remains the best source for vulnerability data.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

25/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00206

KEV

no

Attività

basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!