
# Pacote de playbook de resposta a incidentes e detecção defensiva para CVE-2026-31431 (Copy Fail) LPE do kernel Linux, incluindo consultas de caça para Sigma, auditd, Falco, Wazuh, YARA, eBPF e SIEM.
Playbook de RI pronto para produção, regras de detecção e orientação de triagem para SOC da CVE-2026-31431 — uma escalada de privilégio local no kernel Linux na interface criptográfica algif_aead. Inclui um playbook HTML interativo, regras Sigma, configurações de auditd, regras de contêiner Falco, regras de correlação Wazuh, assinaturas YARA, monitores eBPF em tempo real e consultas de caça em SIEM nas plataformas Splunk, Sentinel KQL, Elastic EQL e QRadar AQL.
Nenhum código de exploração — conteúdo puramente defensivo para analistas de SOC e engenheiros de detecção.
Autor: Ashok Reddy
A lista negra modprobe amplamente recomendada não funciona em RHEL, CentOS, AlmaLinux, Rocky Linux ou CloudLinux. O módulo algif_aead é compilado diretamente no kernel (CONFIG_CRYPTO_USER_API_AEAD=y). Os comandos são executados sem erros, mas deixam o sistema completamente desprotegido.
Mitigação correta para a família RHEL:
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot
# Verificar:
cat /proc/cmdline | grep initcall_blacklist
Consulte mitigate/ para scripts específicos por plataforma.
├── README.md # Este arquivo
├── LICENSE # Licença MIT
├── playbook/
│ ├── index.html # Playbook de RI interativo (13 abas)
│ └── triage_playbook.md # Guia de triagem para analistas de SOC
├── sigma/
│ ├── afalg_socket_creation.yml # Socket AF_ALG por não-root
│ ├── afalg_bind_aead_string.yml # String de algoritmo authencesn
│ └── afalg_splice_chain.yml # Regra de cadeia comportamental
├── auditd/
│ └── cve-2026-31431.rules # Conjunto completo de regras auditd
├── falco/
│ └── afalg_container.yml # Detecção de AF_ALG em contêiner
├── wazuh/
│ └── cve-2026-31431.xml # Regras de correlação Wazuh
├── yara/
│ └── copyfail_artifacts.yar # Detecção de artefatos de arquivo do PoC
├── ebpf/
│ └── copyfail_monitor.bt # Monitor em tempo real bpftrace
├── queries/
│ ├── splunk.spl # Consultas de caça SPL Splunk
│ ├── defender_sentinel.kql # Consultas KQL Sentinel/MDE
│ ├── elastic.eql # Sequências EQL Elastic
│ └── qradar.aql # Consultas AQL QRadar
├── mitigate/
│ ├── mitigate_debian.sh # Mitigação Debian/Ubuntu
│ └── mitigate_rhel.sh # Família RHEL (método grubby)
└── check/
└── is_vulnerable.sh # Verificação segura de vulnerabilidade
O playbook/index.html é um playbook interativo completo com 13 abas:
Ao vivo: https://ashok523.github.io/cve-2026-31431/
# 1. Verificar se é vulnerável
sudo bash check/is_vulnerable.sh
# 2. Aplicar mitigação
sudo bash mitigate/mitigate_rhel.sh # Família RHEL
sudo bash mitigate/mitigate_debian.sh # Debian/Ubuntu
# 3. Implantar regras auditd
sudo cp auditd/cve-2026-31431.rules /etc/audit/rules.d/
sudo augenrules --load
# 4. Implantar regras Wazuh
sudo cp wazuh/cve-2026-31431.xml /var/ossec/etc/rules/local_rules.xml
sudo systemctl restart wazuh-manager
# 5. Implantar regra Falco (Kubernetes)
sudo cp falco/afalg_container.yml /etc/falco/rules.d/
sudo systemctl restart falco
# 6. Executar monitor eBPF (tempo real)
sudo bpftrace ebpf/copyfail_monitor.bt
# 7. Verificar arquivos PoC
yara yara/copyfail_artifacts.yar /tmp/ /dev/shm/ /var/tmp/
Este repositório contém somente conteúdo de detecção defensiva. Nenhum código de exploração, scripts de prova de conceito, offsets de syscall ou shellcode estão incluídos ou serão adicionados.
| Campo | Detalhe |
|---|
| CVE | CVE-2026-31431 |
| Apelido | Copy Fail |
| Componente | algif_aead do kernel Linux (interface criptográfica AF_ALG) |
| Tipo | Escalada Local de Privilégios (LPE) |
| CVSS | 7.8 (ALTA) |
| Primitiva | Gravação determinística de 4 bytes no cache de páginas de qualquer arquivo legível |
| Tamanho da exploração | 732 bytes em Python (somente biblioteca padrão, Python 3.10+) |
| Confiabilidade | 100% — sem condição de corrida, sem tentativas |
| Gravações em disco | Zero — somente cache de páginas, invisível para ferramentas FIM |
| Escopo | Todas as principais distribuições Linux desde 2017 (kernel 4.13–6.18) |
| Risco em contêiner | Primitiva de escape de contêiner se o kernel do host não estiver corrigido (T1611) |
| Status do PoC | Público desde 29 de abril de 2026 |
| Correção | Commit a664bf3d603d — reverte operações AEAD in-place |
| Descoberto por | Taeyang Lee (Theori) · Cadeia de exploração por Xint Code (assistida por IA) |
| Aba | Conteúdo |
|---|
| Visão Geral | Grafo de ataque, cadeia de exploração, estatísticas |
| Fases 1–6 | Ciclo de vida completo de RI com listas de verificação |
| Feed de Inteligência | Metodologia de detecção para SOC, VAPT vs SOC, ferramentas da comunidade, status de correção |
| IOCs | Indicadores de syscall, processo, sistema de arquivos e comportamento |
| MITRE ATT&CK | Mapeamento de técnicas com sinais de detecção |
| Casos de Uso de Detecção | 8 casos de uso baseados em TTP (UC-CF-001 a UC-CF-008) |
| Caça em SIEM | 18 consultas em todas as plataformas |
| Detecção com IA | Capacidades e limitações de UEBA/ML |
| Estágio | Detecção | Ferramenta |
|---|
| Socket AF_ALG por não-root | Sigma · auditd · Falco · eBPF | Sinal primário |
| Cadeia splice() (mesmo PID, 10s) | auditd · eBPF | FP quase zero |
| String AEAD authencesn | Sigma · auditd | Crítico se observado |
| uid→euid=0 sem autenticação | auditd · Splunk · KQL | LPE confirmado |
| su sem nome de usuário | auth.log (sinal Wiz) | Pós-exploração |
| PoC no sistema de arquivos | YARA | Detecção de preparação |
| Escape de contêiner | Falco com contexto K8s | T1611 |
| Persistência pós-root | auditd FIM · Wazuh | Chaves SSH, SUID, cron |
| Abordagem | Volume | Confiança |
|---|
| ❌ Alertar em todo splice() | ~10.000/h | Muito Baixa |
| ⚠️ Alertar somente em socket(AF_ALG) | ~5–50/dia | Média |
| ✅ AF_ALG + splice mesmo PID/10s | ~0–2/dia | Muito Alta |
| ✅ AF_ALG + splice + su / 60s | ~0/dia | Crítica |
| Distribuição | Status | Comando |
|---|
| Ubuntu | ✅ Corrigido | apt update && apt install linux-image-generic |
| AlmaLinux | ✅ Corrigido | dnf clean metadata && dnf upgrade |
| CloudLinux | ✅ Corrigido + livepatch | kcarectl --update |
| Debian | ✅ Rastreado | apt update && apt upgrade |
| Mainline | ✅ Corrigido 7.0-rc7 | Commit a664bf3d603d |
| RHEL | ⏳ Pendente | Errata ainda não lançada |
| Amazon Linux | 🔄 Em acompanhamento | yum update kernel |