// 1 CRITICAL · 4 ZERO-DAY · 5 CVE · 3 EXPLOIT · 1 ADVISORY NELLE ULTIME 24H→
Vghost è una vulnerabilità nel vhost del kernel Linux scoperta con l'assistente Corvus AI di Tencent. Permette escalation a root e, in configurazioni specifiche

Il 12 ottobre 2026 il Tencent Zhuque Lab ha reso pubblica CVE-2026-74580, soprannominata Vghost, una vulnerabilità nel sottosistema vhost del kernel Linux scoperta con l'assistenza di Corvus AI, il sistema multi-agent di Tencent per la ricerca di vulnerabilità kernel. La falla permette escalation di privilegi locali a root e, in configurazioni virtualizzate con IOMMU virtuale, escape da guest a host. La rapidità dichiarata di scoperta — circa due ore — e la pubblicazione di un proof-of-concept deterministico rendono immediato il rischio per le infrastrutture cloud e on-premise.

Punti chiave
  • Il CVSS ufficiale assegnato dal kernel.org CNA è 8.8 (HIGH), con scope changed: la vulnerabilità interessa il sottosistema vhost del kernel Linux dalla versione 4.11 alla 7.2-rc4, circa nove anni di rilasci.
  • L'exploit è deterministico, senza race condition né heap grooming: dopo popolazione della cache IOTLB, ogni VHOST_SET_VRING_ADDR seguito da kick produce esattamente una read o write kernel.
  • Su RHEL 9.8, Amazon Linux 2023, Azure Linux 3.0 e Oracle Linux 10.2 i device node vhost sono accessibili a world con permessi 0666; su Ubuntu 26.04 sono limitati al gruppo kvm con 0660.
  • Il fix upstream è il commit de845981da67, che invalida la cache dei metadati vring alla riconfigurazione; Red Hat, Amazon Linux e Oracle Linux hanno rilasciato patch, mentre Ubuntu ha fixato 22.04 e sta lavorando su 24.04 e 26.04.

Come funziona la stale cache che compromette il kernel

Il meccanismo della falla risiede nella cache vq->meta_iotlb[], che mantiene traduzioni IOTLB per i metadati vring (desc, avail, used). Questa cache short-circuita la validazione su cache hit: se l'indirizzo è già presente, il sistema non rivalida. Il problema è che VHOST_SET_VRING_ADDR e VHOST_SET_VRING_NUM — i comandi ioctl che riconfigurano gli indirizzi dei vring — non invalidano la cache.

Con il device IOTLB attaccato, questi ioctl accettano indirizzi nuovi su una vq già live e differiscono la validazione al momento del prefetch. Ma il prefetch non avviene mai se c'è un cache hit. A quel punto vhost_vq_meta_fetch() calcola il puntatore con map->addr + addr - map->start senza range check, portando __copy_to_user e __copy_from_user a indirizzi arbitrari.

Secondo l'analisi tecnica del Tencent Zhuque Lab, "the bug is the composition of two commits that are each individually reasonable". La composizione di due comportamenti corretti isolatamente — cache per performance e validazione differita per sicurezza — genera una falla critica quando combinati senza invalidazione.

Dal local root al guest-to-host: i due vettori di Vghost

Sul primo vettore, l'attacco locale sfrutta il bypass KASLR attraverso la lettura dell'IDT gate 0. L'exploit repunta desc_user_addr a un indirizzo fisso — 0xfffffe0000000000, corrispondente a asm_exc_divide_error — e recupera i primi 8 byte tramite il messaggio VHOST_IOTLB_MISS, calcolando lo slide KASLR. La scrittura arbitraria avviene poi modificando used_user_addr con allineamento controllato, sovrascrivendo /proc/sys/kernel/modprobe per esecuzione di codice come root.

Sul secondo vettore, un guest non fidato con virtio device dietro virtual IOMMU e iommu_platform abilitato può forzare l'host QEMU a invocare VHOST_SET_VRING_ADDR senza clear della cache. Questo permette scrittura out-of-bounds nell'heap di QEMU, sovrascrivendo function pointer del framework QOM. La fonte tecnica lo definisce "dual exploitation vectors: host local privilege escalation and virtual machine escape".

Il PoC pubblicato da Fourie Zhang del TencentOS Security Team conferma che l'exploit richiede un solo processo, una breve sequenza di ioctl e nessun retry loop. La natura deterministica elimina la variabilità tipica delle race condition, rendendo l'attacco ripetibile e prevedibile.

"once the cache is populated, that deferred validation never runs: vq_meta_prefetch() hits the stale entry and returns true, and vhost_vq_meta_fetch() keeps translating the new address through the old mapping" — Tencent Zhuque Lab

Quanto è esposto il parco installato: test sulle distribuzioni enterprise

Tencent ha riprodotto l'attacco completo su cinque distribuzioni: Ubuntu 26.04, RHEL 9.8, Amazon Linux 2023, Microsoft Azure Linux 3.0 e Oracle Linux 10.2. La riproduzione ha evidenziato una differenza critica nei permessi default dei device node /dev/vhost-net e /dev/vhost-vsock.

Su quattro delle cinque distribuzioni — RHEL, Amazon Linux, Azure Linux e Oracle Linux — i device sono world-accessible con permessi 0666. Qualsiasi processo locale, anche senza privilegi, può aprirli e innescare la catena di ioctl. Su Ubuntu 26.04 i permessi sono 0660 root:kvm, limitando la superficie di attacco ai membri del gruppo kvm. Questa differenza non riduce la gravità della falla ma ne modifica la praticità di exploitazione in ambienti multi-utente.

Non emergono segni di exploitazione in-the-wild al momento della disclosure del 12 ottobre 2026. La pubblicazione del PoC su GitHub aumenta tuttavia la probabilità di replicazione.

Cosa fare adesso

Red Hat, Amazon Linux e Oracle Linux hanno rilasciato fix; Ubuntu ha patchato la versione 22.04 e sta elaborando gli aggiornamenti per 24.04 e 26.04. L'applicazione del commit upstream de845981da67 — che aggiunge l'invalidazione della cache dei metadati vring in vhost_vq_set_addr() e vhost_vq_set_num() — è la mitigazione documentata.

Su sistemi che non possono riavviare immediatamente, la restrizione dei permessi dei device node /dev/vhost-* a 0660 root:kvm riduce la superficie di attacco al primo vettore, sebbene non mitighi il vettore guest-to-host dove l'accesso al device è già mediato dal processo QEMU. Non esistono workaround documentati per questo secondo scenario.

La verifica della presenza del commit fix nelle versioni LTS in uso è prioritaria: la finestra di vulnerabilità di circa nove anni — da Linux 4.11 a 7.2-rc4 — significa che molti sistemi enterprise potenzialmente affetti non ricevono più aggiornamenti dal vendor originale e richiedono valutazione caso per caso.

Il dossier non specifica se esistano mitigazioni efficaci oltre al patch del kernel per il vettore guest-to-host, né se il fix sia stato backportato a tutte le versioni LTS interessate o solo a quelle elencate dalle fonti verificate.

L'IA come acceleratore della ricerca: dal fuzzing al multi-agent

Il dato che distingue Vghost dalle advisory kernel standard è il tempo dichiarato di scoperta: circa due ore con Corvus AI, con il modello Hy4-preview integrato nel loop di verifica exploit e validazione patch. The Hacker News ha precisato che si tratta di "machine-assisted research, not an attack run by AI", distinguendo nettamente lo strumento di ricerca da un ipotetico agente autonomo di exploitation.

La metodologia Corvus AI non sostituisce l'analisi umana ma comprime i tempi di identificazione della superficie vulnerabile e della costruzione del trigger. Nel caso Vghost, il sistema ha navigato la complessità del sottosistema vhost — che gestisce traduzioni IOTLB, metadati vring e interazioni virtio-guest — individuando la composizione di comportamenti che sfugge ai test tradizionali.

Questo cambia il calcolo del threat landscape research: se il ciclo discovery-to-PoC si comprime da settimane a ore, il tempo a disposizione dei team difensivi per patching e risposta incident si accorcia corrispondentemente. La domanda non è se l'IA sostituirà i ricercatori umani, ma se le organizzazioni sono strutturate per assorbire vulnerabilità scoperte a questa velocità.

L'affermazione Tencent sui due ore non è verificata indipendentemente; il dossier non chiarisce se il tempo si riferisca alla sola fase di identificazione o all'intero pipeline inclusa verifica e report. Analogamente, non emerge se esistano varianti della stessa classe di bug in sottosistemi kernel simili con cache di traduzione non invalidata su riconfigurazione.

Domande frequenti

Qual è la differenza tra i due punteggi CVSS riportati?

Il punteggio ufficiale vincolante è CVSS 8.8 (HIGH) con scope changed, assegnato dal kernel.org CNA e registrato su CVE.org. Red Hat assegna alternativamente 7.3 con scope unchanged; Amazon assegna 7.8. La divergenza risiede nella valutazione del scope: il kernel.org CNA considera che la vulnerabilità in un componente kernel possa influenzare risorse oltre il suo contesto di sicurezza originale.

Perché Ubuntu è meno esposta delle altre distribuzioni?

Ubuntu 26.04 configura i device node vhost con permessi 0660 root:kvm, limitando l'apertura ai membri del gruppo kvm. Le altre quattro distribuzioni testate — RHEL 9.8, Amazon Linux 2023, Azure Linux 3.0 e Oracle Linux 10.2 — usano 0666, permettendo accesso a qualsiasi processo locale. Questa differenza di packaging non elimina la vulnerabilità ma ne restringe la praticità di exploitazione per il vettore locale.

Il guest-to-host escape richiede configurazioni particolari?

Sì. Il vettore di escape richiede che il guest abbia un virtio device dietro virtual IOMMU con iommu_platform abilitato e che il virtio device supporti VIRTIO_F_RING_RESET. Questa configurazione non è universalmente attiva ma è presente in ambienti cloud che isolano tenant tramite IOMMU virtuale.

Fonti

Le informazioni sono state verificate sulle fonti citate e aggiornate al momento della pubblicazione.

Fonti


Fonti e riferimenti
  1. thehackernews.com
  2. rapid7.com
  3. matrix.tencent.com
  4. mallory.ai
  5. securityonline.info
  6. appleinsider.com
  7. the420.in
  8. cve.org
  9. schema.org