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-31431_tester — Detector no destructivo para CVE-2026-31431 (Copy Fail) de escalada de privilegios local en XCP-ng 8.3 Dom0, que valida la vulnerabilidad del kernel mediante una prueba de corrupción de caché de páginas. | Kitploit
Herramientas/GitHubGitHub/grabesec/xcp_ng_cve-2026-31431_tester
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónSeguridad en la Nube
GitHubgrabesec/xcp_ng_cve-2026-31431_tester

XCP_ng_CVE-2026-31431_tester

Detector no destructivo para CVE-2026-31431 (Copy Fail) de escalada de privilegios local en XCP-ng 8.3 Dom0, que valida la vulnerabilidad del kernel mediante una prueba de corrupción de caché de páginas.

Ver Repositorio
hace 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

CVE-2026-31431 "Copy Fail" — Detector de laboratorio para XCP-ng

Un script detector seguro y no destructivo para CVE-2026-31431 ("Copy Fail"), validado contra XCP-ng 8.3 LTS anterior a la actualización de seguridad del 5 de mayo de 2026.

⚠️ Solo uso autorizado. Ejecute este script exclusivamente en sistemas que le pertenezcan o para los que tenga autorización explícita de prueba.


Antecedentes

CVE-2026-31431, apodado "Copy Fail", es una vulnerabilidad de escalada de privilegios local (LPE) en la interfaz criptográfica algif_aead del kernel de Linux. Una falla lógica en la plantilla authencesn — introducida en 2017 — permite a un usuario local sin privilegios realizar una escritura controlada de 4 bytes en la caché de páginas del kernel de cualquier archivo legible, lo que permite escalar privilegios a root.

  • CVSS 3.1: 7.8 (Alta)
  • Kernels afectados: 4.14 hasta 6.18.21, 6.19.x anteriores a 6.19.12
  • Introducido: kernel de Linux 4.14 (2017)
  • Divulgado: 29 de abril de 2026 por Taeyang Lee / Theori (Xint Code)
  • Corrección upstream: commit a664bf3d603d de Herbert Xu

Por qué es importante para XCP-ng

El dominio de control Dom0 de XCP-ng se ejecuta sobre un kernel de Linux y es la capa de gestión del hipervisor. Cualquier usuario sin privilegios con acceso a shell en Dom0 — incluidas cuentas de servicio creadas para pipelines de CI/CD, agentes de monitoreo, herramientas de respaldo o automatización — puede explotar esta vulnerabilidad para obtener root. Desde root en Dom0, todas las máquinas virtuales invitadas en ese host quedan comprometidas.

Una instalación predeterminada de XCP-ng tiene una exposición mínima, ya que muy pocos procesos se ejecutan como usuarios no root. El riesgo real se acumula con el tiempo a medida que los operadores agregan cuentas de servicio con fines legítimos sin restringir el acceso a shell.

Audite las cuentas de servicio de su Dom0:

root@kitploit:~
awk -F: '$7 ~ /bash|sh/' /etc/passwd

Qué hace este script

Este es un detector de laboratorio, no una herramienta de escalada de privilegios. El script:

  • Crea un archivo centinela temporal propiedad del usuario que lo ejecuta en un directorio temporal
  • Intenta activar la primitiva de escritura temporal en la caché de páginas de algif_aead / authencesn contra ese archivo
  • Informa si se detectó corrupción en la caché de páginas (confirmando la vulnerabilidad)
  • Limpia todos los archivos temporales al salir

Los binarios del sistema, /etc/passwd y otros archivos del sistema nunca se tocan. La corrupción de la caché de páginas es solo en memoria — no se escribe nada de vuelta al disco.


Requisitos

  • Python 3.10+ (requerido para os.splice)
  • Solo biblioteca estándar — no se necesitan instalaciones con pip
  • Shell de usuario no root en un Dom0 que ejecute un kernel vulnerable

Uso

root@kitploit:~
python3 xcp_ng_cve_2026_31431_tester.py

Códigos de salida

CódigoSignificado
0No se observó corrupción — el sistema probablemente está parcheado o algif_aead está deshabilitado
1Error de activación — algif_aead puede no estar disponible o estar bloqueado
2Vulnerable — corrupción de la caché de páginas confirmada

Nota: El código de salida 1 en un sistema parcheado es un comportamiento esperado, no un error del script. Si authencesn se ha deshabilitado a nivel de kernel (como en la corrección de XCP-ng del 5 de mayo), el enlace del socket fallará y el script saldrá con el código 1.


Estado del parche de XCP-ng

FechaEvento
29 de abril de 2026CVE-2026-31431 divulgado públicamente
4 de mayo de 2026VATES publica VSA-2026-013
5 de mayo de 2026Actualización de seguridad de mayo de XCP-ng 8.3 LTS publicada — corrección del kernel disponible

Aplicando la corrección

Actualice sus hosts XCP-ng y reinicie:

root@kitploit:~
yum update
reboot

Después del reinicio, verifique que el kernel actualizado esté en ejecución:

root@kitploit:~
uname -r

Vuelva a ejecutar este script detector después de parchear. Un sistema parcheado devolverá el código de salida 1 (error de activación), ya que la plantilla vulnerable authencesn ya no está disponible.

Nota: La corrección de XCP-ng deshabilita el soporte IPSec ESN como consecuencia de eliminar el componente vulnerable authencesn. Para la mayoría de los entornos esto no tiene impacto práctico. VATES ha indicado que un parche futuro podría restaurar esta funcionalidad con una corrección adecuada.


Verificación de la configuración del kernel

Antes de aplicar mitigaciones, confirme si algif_aead está compilado como módulo (=m) o integrado en el kernel (=y):

root@kitploit:~
grep CONFIG_CRYPTO_USER_API_AEAD /boot/config-$(uname -r)
  • =m — Basado en módulo; la lista negra de modprobe funcionará
  • =y — Integrado en el kernel; la lista negra de modprobe fallará silenciosamente y no proporcionará protección

Para kernels de la familia RHEL con =y, use el parámetro de arranque grubby en su lugar:

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

Referencias

  • VSA-2026-013 — Aviso de seguridad de VATES
  • Actualización de seguridad de XCP-ng de mayo de 2026
  • Copy Fail — Informe técnico de Xint/Theori
  • copy.fail — Página oficial de divulgación
  • CVE-2026-31431 — NVD
  • Corrección del kernel upstream — commit a664bf3d603d
  • Detector original de rootsecdev

Créditos

  • Descubrimiento de la vulnerabilidad: Taeyang Lee / Theori (Xint Code)
  • Corrección del kernel upstream: Herbert Xu
  • Script detector original: rootsecdev
  • Adaptación y validación para XCP-ng: Rod (este repositorio)

Licencia

Este script es un derivado modificado del trabajo original de rootsecdev. Verifique la licencia del repositorio upstream antes de redistribuir y asegúrese de que su uso cumpla con sus términos.


Este script fue validado en XCP-ng 8.3 LTS ejecutando un kernel sin parchear al 5 de mayo de 2026. Aplique la actualización de seguridad oficial de VATES de inmediato si aún no lo ha hecho.

Descargar herramienta