
Pacote de detecção defensiva para CVE-2026-31431 (LPE AF_ALG do kernel Linux). Regras Sigma, Falco, auditd, KQL e EQL mapeadas para MITRE ATT&CK T1068/T1611. Inclui lógica de detecção projetada para pipelines de telemetria auditd, eBPF e EDR.
Uma coleção pronta para produção de regras de detecção e orientação de triagem para
CVE-2026-31431, uma escalada de privilégio local no kernel Linux na interface criptográfica
algif_aead divulgada pela Theori (Xint Code Research). A vulnerabilidade
explora uma otimização AEAD in-place para permitir que um usuário sem privilégios
realize uma escrita controlada no cache de páginas de qualquer arquivo legível. Este
repositório fornece regras Sigma (incluindo uma regra de cadeia comportamental), configurações
auditd, uma regra Falco para contêineres, consultas de caça KQL e Elastic EQL,
e um playbook de triagem passo a passo para analistas. Nenhum código de exploração — apenas conteúdo
defensivo para analistas de SOC e engenheiros de detecção.
Inclui lógica de detecção projetada para pipelines de telemetria auditd, eBPF e EDR.
| Campo | Detalhe |
|---|
| CVE | CVE-2026-31431 |
| Apelido | Copy Fail |
| Componente | Kernel Linux algif_aead (interface criptográfica AF_ALG) |
| Tipo | Escalada de Privilégio Local (LPE) |
| CVSS | 7.8 |
| Primitiva | Escrita controlada determinística de 4 bytes no cache de páginas de qualquer arquivo legível |
| Caminho de escalada | Envenenar cache de páginas do /etc/passwd → getpwnam() retorna UID 0 → su cai em root |
| Risco em contêiner | Se o kernel do host não estiver corrigido e AF_ALG não estiver bloqueado por seccomp, esta é uma primitiva de escape de contêiner (T1611) |
| Correção | Reverter algif_aead para operações AEAD out-of-place (upstream) |
| Estágio | Comportamento observável | Detecção |
|---|---|---|
| Inicial | Socket AF_ALG (família 38) por não-root | Sigma Rule 1 · auditd afalg_socket · Falco |
| Configuração | bind() com string AEAD authencesn | Sigma Rule 2 (palavra-chave) · auditd afalg_bind |
| Gatilho de exploração | splice() para fd AF_ALG | auditd splice_syscall · Falco/eBPF |
| Pós-condição | recv() EBADMSG de processo sem privilégios | Correlação de cadeia de syscalls · auditd |
| Impacto | Alerta FIM do /etc/passwd + pico de acesso | Monitoramento de integridade de arquivos · /proc/<pid>/fd |
| Transição de privilégio | Execução de su após atividade AF_ALG | Sigma Rule 3 · auditd execve · logs PAM |
Aplique a correção upstream que reverte algif_aead para operações AEAD out-of-place.
Avisos das distribuições:
Mitigação temporária (sistemas sem correção):
Coloque install algif_aead /bin/false em /etc/modprobe.d/disable-algif-aead.conf,
ou aplique um perfil seccomp bloqueando chamadas socket com AF_ALG (família 38).
Os principais consumidores legítimos de sockets AF_ALG são cryptsetup (LUKS), fscrypt,
e alguns clientes VPN com suporte a criptografia no kernel. Em ambientes de produção, esses processos
quase exclusivamente rodam como root, então o filtro uid != 0 elimina a grande maioria
da atividade benigna. A string AEAD específica authencesn(hmac(sha256),cbc(aes)) não tem
uso legítimo conhecido em produção e pode ser tratada como crítica quando observada.
Este repositório contém apenas conteúdo de detecção defensiva. Nenhum código de exploração, scripts de prova de conceito, offsets de syscalls ou shellcode estão incluídos ou serão adicionados.