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
yc-mk8s-copy-fail-mitigation — DaemonSet para la mitigación de la vulnerabilidad CVE-2026-31431 (Copy Fail) | Kitploit
Herramientas/GitHubGitHub/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation
Seguridad de ContenedoresAnálisis de VulnerabilidadesAuditoría de ConfiguraciónSeguridad en la NubeDevSecOps
GitHubyandex-cloud-examples/yc-mk8s-copy-fail-mitigation

yc-mk8s-copy-fail-mitigation

DaemonSet para la mitigación de la vulnerabilidad CVE-2026-31431 (Copy Fail)

Ver Repositorio

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
101hace 3 mesesAún no revisado

Mitigación de Copy Fail / Dirty Frag para Yandex Managed Kubernetes

Aplicación automática de la mitigación para las vulnerabilidades CVE-2026-31431, CVE-2026-43284 y CVE-2026-43500 en el kernel de Linux en todos los worker-nodes del clúster Yandex Managed Kubernetes.

Descripción de la vulnerabilidad

Identificador CVE (CVE ID): CVE-2026-43284, CVE-2026-43500

Enlace al CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-43284

Informe original:

  • Dirty Frag (PoC y write-up): https://github.com/V4bel/dirtyfrag
  • Copy Fail 2: Electric Boogaloo (PoC xfrm-ESP): https://github.com/0xdeadbeefnetwork/Copy_Fail2-Electric_Boogaloo
  • Lista de correo oss-security: https://www.openwall.com/lists/oss-security/2026/05/07/8

Descripción breve:

Dirty Frag es una clase de vulnerabilidades lógicas en el kernel de Linux que permite a un usuario local no privilegiado obtener privilegios de superusuario (root). La explotación combina dos primitivas independientes de escritura en page cache en los subsistemas xfrm-ESP y RxRPC, cada una de las cuales es autosuficiente para la escalada de privilegios.

Copy Fail 2: Electric Boogaloo es un PoC independiente que explota la primitiva xfrm-ESP (CVE-2026-43284). Por clase de vulnerabilidad es análogo al Copy Fail original (CVE-2026-31431), por lo que este DaemonSet mantiene la mitigación tanto para el escenario original de AF_ALG como para las nuevas variantes de Dirty Frag.

Ataque:

  • no requiere acceso remoto - solo una cuenta local no privilegiada
  • es un bug lógico determinista sin race condition - tiene éxito al primer intento
  • no provoca kernel panic en caso de explotación fallida
  • puede utilizarse como primitiva de escape de contenedor al host, ya que el page cache es compartido por todo el nodo

La causa raíz de ambas variantes es la misma: al usar splice() / MSG_SPLICE_PAGES, el kernel coloca páginas del page cache directamente en fragmentos de buffers de socket (skb). Los subsistemas xfrm-ESP y RxRPC realizan descifrado in-place sobre dichos fragmentos sin verificar si son privados. Como resultado, el atacante obtiene una escritura controlada en el page cache de cualquier archivo legible.

Tecnologías afectadas:

  • Kernel de Linux, subsistema net/ipv4/esp4.c / net/ipv6/esp6.c (xfrm-ESP)
  • Kernel de Linux, subsistema net/rxrpc/rxkad.c (RxRPC / RxKAD)
  • Llamadas al sistema splice() / vmsplice() combinadas con sockets UDP (ESP-in-UDP) y AF_RXRPC
  • Se mantiene por separado la mitigación del Copy Fail original (CVE-2026-31431) mediante el bloqueo de AF_ALG (algif_aead)

La vulnerabilidad no afecta directamente a AF_ALG (algif_aead) como parte de Dirty Frag - esta es una vulnerabilidad separada de Copy Fail (CVE-2026-31431). Tampoco se ven afectados directamente dm-crypt / LUKS, kTLS, in-kernel TLS e IPsec en modo tunnel sin encapsulación UDP.

Vector de ataque y nivel de peligrosidad según CVSS v.3.1:

Puntuación base: no asignada en el momento de la publicación.

Por su naturaleza, la vulnerabilidad es similar a Copy Fail (CVE-2026-31431, 7.8 HIGH, CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H) - es una escalada de privilegios local sin race condition.

Qué hace este fix

El DaemonSet automáticamente en cada worker node del clúster:

  1. Comprueba la disponibilidad de AF_ALG - ejecuta una prueba rápida para el escenario original de Copy Fail
  2. Bloquea los módulos vulnerables - crea /etc/modprobe.d/blacklist-lpe.conf con reglas para algif_aead, esp4, esp6 y rxrpc
  3. Descarga los módulos - ejecuta rmmod para algif_aead, esp4, esp6 y rxrpc, si están cargados
  4. Limpia el page cache y verifica la configuración - vacía las cachés y comprueba la existencia del archivo de configuración
  5. - cada hora comprueba la presencia de la configuración y vuelve a descargar los módulos si es necesario

Inicio rápido

1. Descargar el DaemonSet

root@kitploit:~
wget https://raw.githubusercontent.com/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation/main/copy-fail-mitigation-daemonset.yaml

O clonar el repositorio:

root@kitploit:~
git clone https://github.com/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation.git
cd yc-mk8s-copy-fail-mitigation

2. Aplicar el fix

root@kitploit:~
kubectl apply -f copy-fail-mitigation-daemonset.yaml

3. Verificar el estado de la aplicación

root@kitploit:~
# Verificar el estado del DaemonSet
kubectl get daemonset -n kube-system cve-2026-31431-fix

# Ver en cuántos nodos se ha aplicado el fix
kubectl get pods -n kube-system -l app=cve-2026-31431-fix -o wide

4. Ver los logs de aplicación del fix

root@kitploit:~
# Logs del initContainer (aplicación del fix)
kubectl logs -n kube-system -l app=cve-2026-31431-fix -c apply-fix

# Logs del contenedor principal (monitoreo)
kubectl logs -n kube-system -l app=cve-2026-31431-fix -c monitor

Ejemplo de aplicación exitosa

root@kitploit:~
=========================================
Copy Fail / Dirty Frag mitigation for Yandex Managed K8s
Node: demo-ru-central1-a-1
Date: Thu May 08 14:00:00 UTC 2026
=========================================

Step 1: Checking vulnerability before fix...
❌ System is VULNERABLE - AF_ALG AEAD interface is accessible

Step 2: Creating modprobe configuration...
✓ Created /etc/modprobe.d/blacklist-lpe.conf

Step 3: Unloading vulnerable modules...
  ✓ algif_aead unloaded
  ✓ esp4 not loaded
  ✓ esp6 not loaded
  ✓ rxrpc not loaded

Step 3.5: Dropping system caches...
✓ System caches cleared

Step 4: Verifying the fix...
✓ Configuration file exists:
install algif_aead /bin/false
install esp4 /bin/false
install esp6 /bin/false
install rxrpc /bin/false

Step 5: Testing if vulnerability is fixed...
✓ AF_ALG AEAD interface is properly blocked

=========================================
✓ Mitigation applied successfully
=========================================

Verificación manual de la vulnerabilidad

Puede verificar la presencia de la vulnerabilidad en un nodo manualmente. Conéctese al nodo por SSH y ejecute:

root@kitploit:~
# Verificar la disponibilidad del escenario original de Copy Fail a través de AF_ALG
python3 -c 'import socket; s = socket.socket(socket.AF_ALG, socket.SOCK_SEQPACKET, 0); s.bind(("aead","authencesn(hmac(sha256),cbc(aes))")); print("AF_ALG AEAD available - VULNERABLE")'

# Si muestra "AF_ALG AEAD available - VULNERABLE" - el sistema es vulnerable
# Si muestra un error - el sistema está protegido

Verificar la configuración:

root@kitploit:~
# Verificar la existencia de la configuración de bloqueo
cat /etc/modprobe.d/blacklist-lpe.conf

# Salida esperada:
# install algif_aead /bin/false
# install esp4 /bin/false
# install esp6 /bin/false
# install rxrpc /bin/false

Verificar que los módulos vulnerables no estén cargados:

root@kitploit:~
lsmod | egrep 'algif_aead|esp4|esp6|rxrpc'

Eliminación del fix

Si es necesario eliminar el DaemonSet:

root@kitploit:~
kubectl delete -f copy-fail-mitigation-daemonset.yaml

Importante: La eliminación del DaemonSet no eliminará los archivos de configuración de los nodos. El archivo /etc/modprobe.d/blacklist-lpe.conf permanecerá en su lugar y continuará protegiendo el sistema.

Para eliminar completamente el fix de los nodos, debe conectarse a cada nodo por SSH y eliminar manualmente el archivo:

root@kitploit:~
rm /etc/modprobe.d/blacklist-lpe.conf

Detalles técnicos

Permisos utilizados:

  • hostPID: true - para acceder a los procesos del host a través de nsenter
  • privileged: true - para escribir en /etc y descargar módulos del kernel
  • Volume mount / - para acceder al sistema de archivos del host

Imagen: ubuntu:22.04

Recursos:

  • Init container: 10m CPU / 64Mi RAM (requests), 200m CPU / 128Mi RAM (limits)
  • Monitor container: 5m CPU / 32Mi RAM (requests), 50m CPU / 64Mi RAM (limits)

Namespace: kube-system

Compatibilidad

  • ✓ Yandex Managed Kubernetes
  • ✓ Ubuntu 20.04
  • ✓ Ubuntu 22.04
  • ✓ Kubernetes 1.20+

Licencia

Apache License 2.0

Consulte LICENSE para más detalles.

Soporte

Si surgen problemas, cree un issue en el repositorio.

Descargar herramienta
Supervisa el estado