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
cve-2026-31431-algif-aead-remediator — Kubernetes DaemonSet para detectar y remediar CVE-2026-31431 (GHSA-2274-3hgr-wxv6) — LPE de algif_aead mediante la lista negra de modprobe | Kitploit
Herramientas/GitHubGitHub/boliu83/cve-2026-31431-algif-aead-remediator
Seguridad de Infraestructura en la NubeHerramientas DefensivasSeguridad de ContenedoresAnálisis de VulnerabilidadesAuditoría de ConfiguraciónRespuesta a Incidentes
GitHubboliu83/cve-2026-31431-algif-aead-remediator

cve-2026-31431-algif-aead-remediator

Kubernetes DaemonSet para detectar y remediar CVE-2026-31431 (GHSA-2274-3hgr-wxv6) — LPE de algif_aead mediante la lista negra de modprobe

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 / GHSA-2274-3hgr-wxv6 — Remediador de algif_aead

Gravedad: Alta (CVSS 7.8 — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)

Antecedentes

CVE-2026-31431 es una vulnerabilidad de escalada de privilegios local en el módulo algif_aead del kernel de Linux (interfaz de sockets criptográficos AF_ALG AEAD). Un usuario local con privilegios bajos puede explotar operaciones incorrectas de búfer in-place para obtener acceso root completo. Todos los nodos de AKS que ejecutan kernels de Linux anteriores al parche ascendente están potencialmente afectados.

El módulo algif_aead no es necesario para cargas de trabajo normales de Kubernetes o AKS. Bloquearlo elimina por completo la superficie de ataque.


Qué hace este DaemonSet

Un pod se ejecuta en cada nodo Linux. Al iniciarse y luego cada 60 segundos, cada pod:

  1. Escribe /etc/modprobe.d/modprobe-CIS.conf en el host con:

root@kitploit:~
install algif_aead /bin/false
blacklist algif_aead

Esto evita que el módulo se cargue al reiniciar o mediante modprobe.

  • Comprueba /proc/modules (la lista de módulos del kernel del host en vivo — compartida con todos los contenedores) en busca de algif_aead.

  • Etiqueta el nodo de Kubernetes con el resultado para que puedas consultar en todo el clúster:

    Valor de etiquetaSignificado
    mitigatedMódulo no cargado; configuración de bloqueo aplicada
    module-loadedEl módulo está cargado actualmente — investigar de inmediato

  • Archivos

    ArchivoPropósito
    rbac.yamlNamespace, ServiceAccount, ClusterRole (get/patch en nodos), ClusterRoleBinding
    configmap.yamlScript de remediación en shell montado en cada pod
    daemonset.yamlDefinición del DaemonSet — un pod por nodo Linux

    Requisitos previos

    • kubectl configurado contra el clúster AKS de destino
    • Permisos de administrador del clúster (necesarios para crear un ClusterRole y un namespace privilegiado)

    Despliegue

    Aplica los manifiestos en orden:

    root@kitploit:~
    kubectl apply -f rbac.yaml
    kubectl apply -f configmap.yaml
    kubectl apply -f daemonset.yaml
    

    Espera a que el despliegue se complete en todos los nodos:

    root@kitploit:~
    kubectl -n security-remediation rollout status daemonset/cve-2026-31431-remediator
    

    Verificación

    Comprueba el estado de remediación de los nodos de un vistazo

    root@kitploit:~
    kubectl get nodes -L vulnerability.aks.io/CVE-2026-31431
    

    Salida esperada en un clúster limpio:

    root@kitploit:~
    NAME                                STATUS   ROLES    AGE   VERSION   CVE-2026-31431
    aks-nodepool1-xxxxx-vmss000000      Ready    <none>   4d    v1.33.7   mitigated
    aks-nodepool1-xxxxx-vmss000001      Ready    <none>   4d    v1.33.7   mitigated
    

    Comprueba los registros en un pod específico

    root@kitploit:~
    # Lista los pods y sus nodos asignados
    kubectl -n security-remediation get pods -o wide
    
    # Sigue los registros de un pod específico
    kubectl -n security-remediation logs <pod-name> -f
    

    Salida de registros esperada:

    root@kitploit:~
    2026-05-01T01:33:36Z [INFO    ] CVE-2026-31431 remediator starting on node: aks-nodepool1-...
    2026-05-01T01:33:36Z [INFO    ] Blacklist config written → /host/etc/modprobe.d/modprobe-CIS.conf
    2026-05-01T01:33:36Z [INFO    ] Node aks-nodepool1-...: 'algif_aead' is NOT loaded — blacklist config applied, node is mitigated.
    2026-05-01T01:33:36Z [INFO    ] Labeled node aks-nodepool1-...: vulnerability.aks.io/CVE-2026-31431=mitigated
    2026-05-01T01:33:36Z [INFO    ] Entering monitoring loop (interval: 60s)
    

    Verifica que la configuración de modprobe se escribió en el host

    root@kitploit:~
    kubectl -n security-remediation exec <pod-name> -- cat /host/etc/modprobe.d/modprobe-CIS.conf
    

    Contenido esperado:

    root@kitploit:~
    # CIS hardening – mitigate CVE-2026-31431 (GHSA-2274-3hgr-wxv6)
    # Prevents algif_aead (AF_ALG AEAD) LPE from being loaded or exploited.
    install algif_aead /bin/false
    blacklist algif_aead
    

    Alerta: nodos con módulo cargado

    Si un nodo muestra module-loaded, el módulo del kernel está activo actualmente y el nodo puede estar ya comprometido. Aísla (cordon) y drena el nodo de inmediato para realizar un análisis forense:

    root@kitploit:~
    # Encuentra los nodos afectados
    kubectl get nodes -l vulnerability.aks.io/CVE-2026-31431=module-loaded
    
    # Aísla y drena para la investigación
    kubectl cordon <node-name>
    kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data
    

    Desinstalación

    Nota: Eliminar el DaemonSet no elimina el archivo /etc/modprobe.d/modprobe-CIS.conf de los nodos host. Ese archivo se deja intencionalmente en su lugar como medida persistente de endurecimiento del kernel.

    Elimina los recursos de Kubernetes

    root@kitploit:~
    kubectl delete -f daemonset.yaml
    kubectl delete -f configmap.yaml
    kubectl delete -f rbac.yaml
    

    Esto elimina el DaemonSet, todos sus pods, el ConfigMap, el ServiceAccount, el ClusterRole, el ClusterRoleBinding y el namespace.

    Elimina las etiquetas de los nodos (opcional)

    root@kitploit:~
    kubectl label nodes --all vulnerability.aks.io/CVE-2026-31431-
    

    Elimina la configuración de modprobe de los nodos (no recomendado)

    Solo hazlo si tienes una mitigación alternativa (kernel parcheado). Ejecuta en cada nodo o mediante un pod privilegiado:

    root@kitploit:~
    rm -f /etc/modprobe.d/modprobe-CIS.conf
    

    Notas de seguridad

    • El pod se ejecuta como root (runAsUser: 0) — necesario para escribir en /etc/modprobe.d/ en el host.
    • Todas las capacidades de Linux están eliminadas (capabilities.drop: ["ALL"]). No se necesitan capacidades del kernel.
    • El contenedor principal se ejecuta con readOnlyRootFilesystem: true. Solo los volúmenes montados hostPath y emptyDir son escribibles.
    • Solo /etc/modprobe.d/ está montado desde el host — no /etc, /proc ni ninguna ruta más amplia.
    • El binario curl y sus bibliotecas compartidas se preparan mediante el contenedor init en un emptyDir (/tools) para que el contenedor principal pueda llamar a la API de Kubernetes sin necesidad de acceso de escritura al rootfs.
    • La cuenta de servicio tiene los permisos mínimos de RBAC necesarios: solo get y patch en nodes.
    Descargar herramienta