Sploitus

Exploit for Incorrect Resource Transfer Between Spheres in Linux Linux Kernel

githubexploit · 2026-08-05

Exploit Code

README94 lines
## https://sploitus.com/exploit?id=64FFC095-25D3-5EF2-9202-60B8BCE8ABA6
# copyfail-guard

Ferramenta de **detecção e mitigação automatizada** para a vulnerabilidade
[CVE-2026-31431 ("Copy Fail")](https://copy.fail), uma escalada de privilégios
local (LPE) no módulo `algif_aead` (interface `AF_ALG`) do kernel Linux.

> ⚠️ **Escopo:** este projeto é puramente **defensivo**. Ele não contém,
> não gera e não referencia código de exploração. O objetivo é permitir que
> times de segurança e administradores de sistema (1) identifiquem hosts
> expostos e (2) apliquem a mitigação recomendada (bloqueio do módulo
> `algif_aead`) até que o kernel corrigido seja instalado.

## O que a ferramenta faz

1. **Detecção** (`--check`)
   - Lê a versão do kernel em execução (`uname -r`)
   - Verifica se o módulo `algif_aead` está carregado ou disponível para
     carregamento
   - Consulta o changelog do pacote de kernel instalado (`apt`/`dpkg`,
     `rpm`, `zypper`) em busca de referência ao patch/CVE
   - Identifica a distribuição via `/etc/os-release`
   - Retorna um veredito: `VULNERÁVEL`, `MITIGADO` (módulo bloqueado),
     `CORRIGIDO` (kernel já contém o patch) ou `INDETERMINADO`

2. **Mitigação** (`--mitigate`, requer root)
   - Cria `/etc/modprobe.d/disable-algif-aead-cve-2026-31431.conf` com
     `install algif_aead /bin/false` e `blacklist algif_aead`
   - Remove o módulo da memória se já estiver carregado (`rmmod`)
   - Reexecuta a checagem de detecção para confirmar que a mitigação
     surtiu efeito
   - Operação **idempotente**: pode ser executada quantas vezes for
     necessário sem efeitos colaterais

3. **Relatório** (`--report json|text`)
   - Saída legível para humanos ou JSON estruturado, pronta para
     alimentar SIEM, pipelines de auditoria de ativos, ou dashboards

## Uso rápido

```bash
# Apenas diagnosticar (não requer root)
sudo ./bin/copyfail-guard --check

# Diagnosticar e aplicar mitigação temporária
sudo ./bin/copyfail-guard --mitigate

# Saída em JSON para integração com outras ferramentas
sudo ./bin/copyfail-guard --check --report json
```

Requisitos: Python 3.8+, Bash, acesso root apenas para `--mitigate`
(a checagem funciona sem privilégios elevados, com informação limitada).

## Aviso importante

- A mitigação (bloqueio de `algif_aead`) é **temporária**. Ela reduz a
  superfície de ataque mas **não substitui a atualização do kernel**.
  Assim que o pacote de kernel corrigido (contendo o commit
  `a664bf3d603d` ou backport equivalente) estiver disponível para sua
  distribuição, ele deve ser aplicado e o sistema reiniciado.
- Ambientes que dependem de `algif_aead` (uso direto de `AF_ALG` para
  AEAD via userspace) podem ter funcionalidade impactada pela mitigação.
  `dm-crypt`/LUKS, kTLS, IPsec, SSH e builds padrão de OpenSSL/GnuTLS
  normalmente **não** dependem de `AF_ALG` e não são afetados.

## Estrutura do repositório

```
copyfail-guard/
├── bin/
│   └── copyfail-guard        # entrypoint (bash) -> chama o módulo Python
├── copyfail_guard/
│   ├── __init__.py
│   ├── detect.py              # lógica de detecção
│   ├── mitigate.py            # lógica de mitigação
│   └── report.py              # formatação de saída (texto/JSON)
├── tests/
│   └── test_detect.py
├── LICENSE
└── README.md
```

## Referências

- copy.fail
- NVD — CVE-2026-31431
- Red Hat RHSB-2026-002
- Ubuntu Security Notices (discourse.ubuntu.com)
- Sysdig / Unit 42 / Tenable / Microsoft Security Blog (análises técnicas)

## Licença

MIT — veja [LICENSE](./LICENSE).