Skip to content
KitploitKITPLOIT
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/yandex-cloud-examples/yc-mk8s-copy-fail-mitigation
Segurança de ContêineresAnálise de VulnerabilidadesAuditoria de ConfiguraçãoSegurança na NuvemDevSecOps
GitHubyandex-cloud-examples/yc-mk8s-copy-fail-mitigation

yc-mk8s-copy-fail-mitigation

DaemonSet para mitigação da vulnerabilidade CVE-2026-31431 (Copy Fail)

Ver Repositório

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
1015há 4 mesesAinda não revisado

Mitigação de Copy Fail / Dirty Frag para Yandex Managed Kubernetes

Aplicação automática de mitigação para as vulnerabilidades CVE-2026-31431, CVE-2026-43284 e CVE-2026-43500 no kernel Linux em todos os worker-nodes do cluster Yandex Managed Kubernetes.

Descrição da vulnerabilidade

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

Link para o CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-43284

Relatório original:

  • Dirty Frag (PoC e 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 discussão oss-security: https://www.openwall.com/lists/oss-security/2026/05/07/8

Descrição resumida:

Dirty Frag é uma classe de vulnerabilidades lógicas no kernel Linux que permite a um usuário local não privilegiado obter privilégios de superusuário (root). A exploração combina dois primitivos independentes de escrita no page-cache nas subsistemas xfrm-ESP e RxRPC, cada um dos quais é autossuficiente para escalonamento de privilégios.

Copy Fail 2: Electric Boogaloo é um PoC independente que explora o primitivo xfrm-ESP (CVE-2026-43284). Pela classe de vulnerabilidade, é análogo ao Copy Fail original (CVE-2026-31431), portanto este DaemonSet mantém a mitigação tanto para o cenário original AF_ALG quanto para as novas variantes Dirty Frag.

Ataque:

  • não requer acesso remoto - apenas uma conta local não privilegiada
  • é um bug lógico determinístico sem race condition - bem-sucedido na primeira tentativa
  • não causa kernel panic em caso de exploração malsucedida
  • pode ser usado como primitivo de fuga de contêiner para o host, pois o page cache é compartilhado por todo o nó

A causa raiz de ambas as variantes é a mesma: ao usar splice() / MSG_SPLICE_PAGES, o kernel coloca páginas do page cache diretamente nos fragmentos dos buffers de socket (skb). As subsistemas xfrm-ESP e RxRPC realizam descriptografia in-place nesses fragmentos, sem verificar se são privados. Como resultado, o atacante obtém escrita controlada no page cache de qualquer arquivo legível.

Tecnologias afetadas:

  • Kernel Linux, subsistema net/ipv4/esp4.c / net/ipv6/esp6.c (xfrm-ESP)
  • Kernel Linux, subsistema net/rxrpc/rxkad.c (RxRPC / RxKAD)
  • Chamadas de sistema splice() / vmsplice() em conjunto com sockets UDP (ESP-in-UDP) e AF_RXRPC
  • A mitigação do Copy Fail original (CVE-2026-31431) é mantida separadamente por meio do bloqueio de AF_ALG (algif_aead)

A vulnerabilidade não afeta diretamente AF_ALG (algif_aead) como parte do Dirty Frag - esta é uma vulnerabilidade separada do Copy Fail (CVE-2026-31431). Também não afetam diretamente dm-crypt / LUKS, kTLS, in-kernel TLS e IPsec em modo tunnel sem encapsulamento UDP.

Vetor de ataque e nível de gravidade conforme CVSS v.3.1:

Pontuação base: não atribuída no momento da publicação.

Pela natureza, a vulnerabilidade é análoga ao 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) - é um escalonamento local de privilégios sem race condition.

O que este fix faz

O DaemonSet automaticamente em cada worker node do cluster:

  1. Verifica a disponibilidade de AF_ALG - executa um teste rápido para o cenário original Copy Fail
  2. Bloqueia módulos vulneráveis - cria /etc/modprobe.d/blacklist-lpe.conf com regras para algif_aead, esp4, esp6 e rxrpc
  3. Descarrega módulos - executa rmmod para algif_aead, esp4, esp6 e rxrpc, se estiverem carregados
  4. Limpa o page cache e verifica a configuração - limpa os caches e verifica a existência do arquivo de configuração
  5. Monitora o estado - a cada hora verifica a existência da configuração e recarrega os módulos, se necessário

Início rápido

1. Baixar o DaemonSet

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

Ou clonar o repositório:

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

2. Aplicar o fix

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

3. Verificar o status da aplicação

root@kitploit:~
# Verificar o status do DaemonSet
kubectl get daemonset -n kube-system cve-2026-31431-fix

# Ver em quantos nós o fix foi aplicado
kubectl get pods -n kube-system -l app=cve-2026-31431-fix -o wide

4. Visualizar os logs da aplicação do fix

root@kitploit:~
# Logs do initContainer (aplicação do fix)
kubectl logs -n kube-system -l app=cve-2026-31431-fix -c apply-fix

# Logs do contêiner principal (monitoramento)
kubectl logs -n kube-system -l app=cve-2026-31431-fix -c monitor

Exemplo de aplicação bem-sucedida

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
=========================================

Verificação manual da vulnerabilidade

Você pode verificar a presença da vulnerabilidade em um nó manualmente. Conecte-se ao nó via SSH e execute:

root@kitploit:~
# Verificar a disponibilidade do cenário original Copy Fail via 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")'

# Se exibir "AF_ALG AEAD available - VULNERABLE" - o sistema está vulnerável
# Se exibir um erro - o sistema está protegido

Verificar a configuração:

root@kitploit:~
# Verificar a existência da configuração de bloqueio
cat /etc/modprobe.d/blacklist-lpe.conf

# Saída esperada:
# install algif_aead /bin/false
# install esp4 /bin/false
# install esp6 /bin/false
# install rxrpc /bin/false

Verificar se os módulos vulneráveis não estão carregados:

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

Remoção do fix

Se for necessário remover o DaemonSet:

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

Importante: A remoção do DaemonSet não removerá os arquivos de configuração dos nós. O arquivo /etc/modprobe.d/blacklist-lpe.conf permanecerá no lugar e continuará protegendo o sistema.

Para remover completamente o fix dos nós, é necessário conectar-se a cada nó via SSH e excluir manualmente o arquivo:

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

Detalhes técnicos

Permissões utilizadas:

  • hostPID: true - para acesso aos processos do host via nsenter
  • privileged: true - para escrita em /etc e descarregamento de módulos do kernel
  • Volume mount / - para acesso ao sistema de arquivos do host

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

Compatibilidade

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

Licença

Apache License 2.0

Consulte LICENSE para detalhes.

Suporte

Em caso de problemas, crie uma issue no repositório.

Baixar ferramenta