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

FeedsContactoPrivacidad© 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
30hace 5 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:

    install algif_aead /bin/false
    blacklist algif_aead
    

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

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

  3. 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:

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:

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

kubectl get nodes -L vulnerability.aks.io/CVE-2026-31431

Salida esperada en un clúster limpio:

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

# 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:

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

kubectl -n security-remediation exec <pod-name> -- cat /host/etc/modprobe.d/modprobe-CIS.conf

Contenido esperado:

# 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:

# 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

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)

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:

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