Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
cve-2026-31431-algif-aead-remediator — Kubernetes DaemonSet para detetar e remediar o CVE-2026-31431 (GHSA-2274-3hgr-wxv6) — LPE do algif_aead via blacklist do modprobe | Kitploit
Ferramentas/GitHubGitHub/boliu83/cve-2026-31431-algif-aead-remediator
Segurança de Infraestrutura em NuvemFerramentas DefensivasSegurança de ContêineresAnálise de VulnerabilidadesAuditoria de ConfiguraçãoResposta a Incidentes
GitHubboliu83/cve-2026-31431-algif-aead-remediator

cve-2026-31431-algif-aead-remediator

Kubernetes DaemonSet para detetar e remediar o CVE-2026-31431 (GHSA-2274-3hgr-wxv6) — LPE do algif_aead via blacklist do modprobe

Ver Repositório
46há 5 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-31431 / GHSA-2274-3hgr-wxv6 — Remediador algif_aead

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

Contexto

CVE-2026-31431 é uma vulnerabilidade de escalonamento de privilégio local no módulo algif_aead do kernel Linux (interface de socket criptográfico AF_ALG AEAD). Um usuário local com privilégios baixos pode explorar operações incorretas de buffer in-place para obter acesso total de root. Todos os node pools do AKS que executam kernels Linux anteriores ao patch upstream são potencialmente afetados.

O módulo algif_aead não é necessário para cargas de trabalho normais do Kubernetes ou AKS. Bloqueá-lo elimina completamente a superfície de ataque.


O que este DaemonSet faz

Um pod é executado em cada nó Linux. Na inicialização e depois a cada 60 segundos, cada pod:

  1. Grava /etc/modprobe.d/modprobe-CIS.conf no host com:

    install algif_aead /bin/false
    blacklist algif_aead
    

    Isso impede que o módulo seja carregado na reinicialização ou via modprobe.

  2. Verifica /proc/modules (a lista de módulos do kernel do host em tempo real — compartilhada com todos os contêineres) em busca de algif_aead.

  3. Rotula o nó do Kubernetes com o resultado para que você possa consultar em todo o cluster:

    Valor do rótuloSignificado
    mitigatedMódulo não carregado; configuração de blacklist aplicada
    module-loadedMódulo está atualmente carregado — investigue imediatamente

Arquivos

ArquivoFinalidade
rbac.yamlNamespace, ServiceAccount, ClusterRole (get/patch em nós), ClusterRoleBinding
configmap.yamlScript de remediação em shell montado em cada pod
daemonset.yamlDefinição do DaemonSet — um pod por nó Linux

Pré-requisitos

  • kubectl configurado para o cluster AKS de destino
  • Permissões de cluster-admin (necessárias para criar um ClusterRole e um namespace privilegiado)

Implantação

Aplique os manifests em ordem:

kubectl apply -f rbac.yaml
kubectl apply -f configmap.yaml
kubectl apply -f daemonset.yaml

Aguarde a conclusão da implantação em todos os nós:

kubectl -n security-remediation rollout status daemonset/cve-2026-31431-remediator

Verificação

Verifique o status de remediação dos nós de uma só vez

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

Saída esperada em um cluster limpo:

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

Verifique os logs em um pod específico

# Liste os pods e seus nós atribuídos
kubectl -n security-remediation get pods -o wide

# Acompanhe os logs de um pod específico
kubectl -n security-remediation logs <pod-name> -f

Saída de log 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)

Verifique se a configuração do modprobe foi gravada no host

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

Conteúdo 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: nós com módulo carregado

Se um nó exibir module-loaded, o módulo do kernel está atualmente ativo e o nó pode já estar comprometido. Isole (cordon) e drene o nó imediatamente para análise forense:

# Encontre os nós afetados
kubectl get nodes -l vulnerability.aks.io/CVE-2026-31431=module-loaded

# Isole e drene para investigação
kubectl cordon <node-name>
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data

Desinstalação

Nota: Remover o DaemonSet não remove o arquivo /etc/modprobe.d/modprobe-CIS.conf dos nós do host. Esse arquivo é intencionalmente deixado no lugar como uma medida persistente de endurecimento do kernel.

Remova os recursos do Kubernetes

kubectl delete -f daemonset.yaml
kubectl delete -f configmap.yaml
kubectl delete -f rbac.yaml

Isso exclui o DaemonSet, todos os seus pods, o ConfigMap, o ServiceAccount, o ClusterRole, o ClusterRoleBinding e o namespace.

Remova os rótulos dos nós (opcional)

kubectl label nodes --all vulnerability.aks.io/CVE-2026-31431-

Remova a configuração do modprobe dos nós (não recomendado)

Faça isso somente se você tiver uma mitigação alternativa (kernel corrigido). Execute em cada nó ou por meio de um pod privilegiado:

rm -f /etc/modprobe.d/modprobe-CIS.conf

Notas de segurança

  • O pod é executado como root (runAsUser: 0) — necessário para gravar em /etc/modprobe.d/ no host.
  • Todas as capabilities do Linux são removidas (capabilities.drop: ["ALL"]). Nenhuma capability do kernel é necessária.
  • O contêiner principal é executado com readOnlyRootFilesystem: true. Apenas os volumes montados hostPath e emptyDir são graváveis.
  • Apenas /etc/modprobe.d/ é montado via bind a partir do host — não /etc, /proc ou qualquer caminho mais amplo.
  • O binário curl e suas bibliotecas compartilhadas são preparados pelo contêiner init em um emptyDir (/tools) para que o contêiner principal possa chamar a API do Kubernetes sem precisar de acesso de gravação ao rootfs.
  • A conta de serviço tem as permissões mínimas de RBAC necessárias: apenas get e patch em nodes.
Baixar ferramenta