CVE-2026-74580
vhost: reimposta la cache dei metadati del vring alla riconfigurazione del vring
- Pubblicato
- 21 ago 2026
- Aggiornato
- 16 ott 2026
- Assegnazione CNA
- Linux
- Evidenza osservata
- 19 ott 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HBasso · prossimi 30 giorni
- Percentile
- 2,1%
- Data del modello
- 23 ott 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Nel kernel Linux è stata risolta la seguente vulnerabilità: vhost: reimpostare la cache dei metadati del vring alla riconfigurazione del vring. vq->meta_iotlb[] memorizza nella cache il vhost_iotlb_map che supporta ciascuna regione di metadati del vring, e iotlb_access_ok() restituisce anticipatamente in caso di hit nella cache, considerando l'hit come prova che la regione è già stata validata: if (vhost_vq_meta_fetch(vq, addr, len, type)) return true; La cache viene reimpostata su VHOST_IOTLB_UPDATE e VHOST_IOTLB_INVALIDATE, alla (ri)inizializzazione dell'IOTLB del dispositivo e al reset di vq, ma non quando VHOST_SET_VRING_ADDR sostituisce vq->desc, vq->avail e vq->used, né quando VHOST_SET_VRING_NUM modifica le dimensioni delle regioni. Con un IOTLB del dispositivo collegato entrambi gli ioctl vengono accettati mentre la vq è attiva, e nessuno dei due valida gli indirizzi al momento dell'ioctl: vq_access_ok() e vq_log_used_access_ok() restituiscono anticipatamente true perché gli indirizzi sono GIOVA, rinviando la validazione al momento del prefetch. Una volta popolata la cache, tale validazione rinviata non viene più eseguita -- vq_meta_prefetch() trova la voce obsoleta e restituisce true -- e vhost_vq_meta_fetch() continua a tradurre tramite la vecchia mappatura come map->addr + addr - map->start per un indirizzo che la mappatura non copre più. vhost_copy_to_user() e vhost_copy_from_user() consumano il risultato con __copy_to_user() e __copy_from_user(), che non lo verificano nemmeno, quindi un successivo aggiornamento dell'used ring o il recupero del descrittore accede a memoria al di fuori della regione effettivamente mappata dall'IOTLB. Reimpostare la cache dei metadati ogni volta che il vring viene riconfigurato, in modo che i nuovi indirizzi vengano nuovamente sottoposti al percorso lento di iotlb_access_ok().
Fonti
Codice C proof-of-concept e writeup per vulnerabilità del kernel Linux divulgate, incluse le sorgenti degli exploit per singola CVE e l'analisi tecnica.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.