Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
XCP_ng_CVE-2026-43284_tester — Probador para CVE-2026-43284 | Kitploit
Herramientas/GitHubGitHub/grabesec/xcp_ng_cve-2026-43284_tester
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad en la NubeAprendizaje y EducaciónExplotación de BinariosLabs y Práctica
GitHubgrabesec/xcp_ng_cve-2026-43284_tester

XCP_ng_CVE-2026-43284_tester

Probador para CVE-2026-43284

Ver Repositorio
5hace 3 mesesAú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

Diagnóstico de Dirty Frag para XCP-ng — CVE-2026-43284

Platform Kernel CVE CVSS License

Una herramienta de diagnóstico comunitaria para determinar si un host dom0 de XCP-ng está expuesto a CVE-2026-43284 ("Dirty Frag"), una vulnerabilidad de escalada de privilegios local en el subsistema xfrm-ESP del kernel de Linux.

TL;DR — Todas las versiones actuales de XCP-ng (8.1, 8.2, 8.3) que ejecutan el kernel dom0 4.19 estándar se encuentran en el rango de código vulnerable. No se ha publicado un parche oficial de XCP-ng a mayo de 2026. Esta herramienta le indica de manera definitiva si su host está expuesto y proporciona una mitigación provisional segura.


Antecedentes

"Dirty Frag" es una vulnerabilidad de escalada de privilegios local divulgada públicamente en mayo de 2026 por el investigador Hyunwoo Kim (@v4bel). Explota una ruta rápida de descifrado en el lugar en el subsistema IPsec ESP del kernel de Linux, introducida en enero de 2017 (kernel 4.14+). Una prueba de concepto pública funcional produce un shell de root mediante llamadas al sistema estándar sin requerir exploits del kernel.

Se publicaron dos CVE:

CVESubsistemaIntroducido¿Aplica a XCP-ng 4.19?
CVE-2026-43284xfrm-ESP (esp4/esp6)kernel 4.14, enero 2017SÍ
CVE-2026-43500RxRPC (rxkad)kernel 6.4, junio 2023No — rxrpc.ko no incluido

XCP-ng no necesita CVE-2026-43500 para ser explotable. La ruta esp4 (CVE-2026-43284) por sí sola es suficiente porque el dom0 de XCP-ng no tiene política AppArmor y permite la creación de espacios de nombres de usuario no privilegiados — el único requisito previo que necesita la ruta de explotación esp4. Consulte TECHNICAL.md para el análisis completo.


Qué hace esta herramienta

El script de diagnóstico prueba la condición necesaria y suficiente para CVE-2026-43284 en XCP-ng: si un proceso no privilegiado puede activar el motor de descifrado en el lugar de esp4 a través de la interfaz netlink de XFRM dentro de un espacio de nombres de usuario.

No:

  • Intenta escalar privilegios
  • Escribe ninguna carga útil de exploit
  • Modifica ningún archivo del sistema
  • Deja artefactos permanentes (el estado XFRM se limpia al salir)

Es seguro ejecutarlo en dom0 de producción.


Inicio rápido

root@kitploit:~
# Clone el repositorio
git clone https://github.com/grabesec/XCP_ng_CVE-2026-43284_tester.git
cd XCP_ng_CVE-2026-43284_tester

# Ejecute el diagnóstico (como no root para la prueba más sólida)
python3 XCP_ng_CVE_2026_43284_tester.py

Nota: Ejecutar como usuario no root cuando sea posible. Esto simula el modelo de amenaza real: una cuenta de servicio comprometida o una fuga de invitado que alcanza dom0. Ejecutar como root aún produce un resultado válido pero es menos ilustrativo.


Salida esperada — Host vulnerable

root@kitploit:~
=================================================================
  XCP-ng Dirty Frag Diagnostic -- CVE-2026-43284
  xfrm-ESP Page-Cache Write / Local Privilege Escalation
=================================================================
  Kernel  : 4.19.0+1
  Host    : xcpng-prod-01
  PID     : 52306  |  UID: 1000
=================================================================

[Phase 0] Pre-flight environment checks
---------------------------------------------
[*] Unprivileged user namespaces : ALLOWED
[*] esp4 blacklist in modprobe.d  : NOT FOUND
[*] CVE-2026-43284 patch in kernel RPM : NOT FOUND

[Phase 1] Baseline esp4 module state
---------------------------------------------
[*] esp4 is DORMANT -- not currently loaded in the kernel.
    The autoload mechanism may fetch it on demand via XFRM.

[Phase 2] Attempting esp4 engagement from unprivileged namespace
---------------------------------------------
[*] Spawning child in isolated user+network namespace
    (unshare -U -n -r) -- simulating a non-root local attacker

[*] Child signal    : XFRM SA accepted by kernel
[*] esp4 refcount   : 0 (before)  ->  1 (now)
[*] /proc/modules   : esp4 16384 1 - Live 0xffffffffc0a12000

[Phase 3] Engineering verdict
=================================================================

  [!!!]  PROOF OF EXPOSURE -- CVE-2026-43284  [!!!]

  esp4 refcount increased: 0 -> 1

  An unprivileged process inside a user+network namespace
  successfully registered an XFRM Security Association and
  engaged the esp4 in-place decryption engine in the host
  kernel. This is the gate condition for CVE-2026-43284.

  XCP-ng-specific analysis:
    [FAIL] Kernel 4.19 carries the vulnerable code (since 4.14)
    [FAIL] User namespaces are open -- esp4 path is reachable
    [OK]   rxrpc.ko absent -- CVE-2026-43500 does not apply
    [FAIL] esp4 path alone is sufficient on this configuration

Salida esperada — Host mitigado

root@kitploit:~
[Phase 0] Pre-flight environment checks
---------------------------------------------
[+] esp4 blacklist found in /etc/modprobe.d/
    Module-load mitigation appears to be in place.
...
[Phase 2] Attempting esp4 engagement from unprivileged namespace
---------------------------------------------
[+] XFRM state add was REJECTED by the kernel.
    The esp4 engine was not engaged from the namespace.

[RESULT] The namespace loophole did NOT grant esp4 access.

Mitigación

Automatizada (recomendada)

El script mitigate.sh incluido aplica la mitigación de forma segura, con detección de IPsec incorporada para evitar romper túneles:

root@kitploit:~
# Verificar el estado actual únicamente (sin cambios)
sudo ./mitigate.sh --check

# Aplicar mitigación (se cancela si se detecta IPsec)
sudo ./mitigate.sh

# Eliminar mitigación (tras aplicar el parche oficial del kernel)
sudo ./mitigate.sh --undo

Manual

Opción A — Hosts que NO usan IPsec (la mayoría de los dom0):

root@kitploit:~
echo 'install esp4 /bin/false' > /etc/modprobe.d/dirtyfrag-cve-2026-43284.conf
rmmod esp4 2>/dev/null || true
echo 3 > /proc/sys/vm/drop_caches

Opción B — Hosts que usan IPsec (strongSwan / Libreswan):

NO incluya esp4 en la lista negra — rompería inmediatamente todos los túneles. En su lugar:

  • Limite el acceso shell a dom0 al conjunto mínimo de cuentas de administrador de confianza
  • Monitoree los anuncios de actualización de XCP-ng para el parche oficial del kernel

⚠️ Esto es una ESCALADA DE PRIVILEGIOS LOCAL. Un atacante ya debe tener un shell o ejecución de código en dom0. La defensa principal es limitar quién tiene acceso local a dom0 en primer lugar. Root de dom0 = root del hipervisor = todas las máquinas virtuales invitadas comprometidas.


Requisitos

RequisitoNotas
Python 3.6+Incluido con XCP-ng 8.x dom0
iproute2 (comando ip)Incluido con XCP-ng 8.x dom0
unshareParte de util-linux, incluido con XCP-ng 8.x dom0
Kernel de LinuxCualquier kernel 4.14–6.x en un dom0 de XCP-ng

No se requieren librerías Python externas. No se necesita pip install.


Archivos

root@kitploit:~
XCP_ng_CVE-2026-43284_tester/
├── XCP_ng_CVE_2026_43284_tester.py   # Script de diagnóstico — ejecute esto primero
├── mitigate.sh                        # Script de mitigación con detección de IPsec
├── README.md                          # Este archivo — inicio rápido y resumen
├── TECHNICAL.md                       # Análisis técnico profundo — cadena de ataque,
│                                      # por qué rxrpc no es necesario en XCP-ng,
│                                      # explicación de los internos del script
├── CHANGELOG.md                       # Historial de versiones
└── LICENSE                            # MIT

Detalles Técnicos

Para una explicación completa de:

  • Cómo funciona Dirty Frag mecánicamente (la primitiva de escritura en la caché de páginas)
  • Por qué CVE-2026-43500 (RxRPC) es irrelevante para XCP-ng a pesar de completar la cadena en Ubuntu
  • La cadena de ataque completa de 6 pasos específica para dom0 de XCP-ng
  • Cómo funciona cada sección del script de diagnóstico

Consulte TECHNICAL.md.


Estado del Parche

Versión de XCP-ngKernel¿Vulnerable?¿Parche Oficial?
8.3 LTS4.19 + parches VatesSÍNo publicado a mayo de 2026
8.24.19 + parches VatesSÍNo publicado a mayo de 2026
8.1 (fin de vida)4.19 + parches VatesSÍNo esperado

Monitoree: https://xcp-ng.org/forum/topic/365/updates-announcements


Nota sobre Divulgación Responsable

Esta herramienta prueba únicamente la condición previa para la explotación (acceso a espacio de nombres + esp4). No contiene, reproduce ni referencia ningún código de exploit. La vulnerabilidad subyacente es públicamente conocida, tiene una prueba de concepto publicada por el investigador original y se le han asignado CVE. El propósito de esta herramienta es ayudar a los administradores de XCP-ng a determinar su exposición y aplicar mitigaciones provisionales mientras esperan un parche oficial del kernel por parte de Vates.


Referencias

  • CVE-2026-43284 — NVD
  • Artículo original — Hyunwoo Kim (@v4bel)
  • Blog de Seguridad de Microsoft — Aviso de ataque activo
  • Sysdig — Guía de detección
  • Anuncios de actualización de XCP-ng
  • Commit de corrección del kernel (upstream)

Autor

Rodrigo Gracia — Contribución de seguridad comunitaria
Practicante de XCP-ng / Xen Orchestra
https://github.com/grabesec
Mayo de 2026

Descargar herramienta