
Pesquisa sobre vazamento de descritor de arquivo baseado em `pidfd_getfd(2)` de processos privilegiados SUID. Demonstra captura de FD por condição de corrida contra o OpenSSH `ssh-keysign` e exposição de manipuladores de arquivos sensíveis pertencentes ao root.
Repositório de pesquisa e educacional para CVE-2026-46333, focado em análise reproduzível e um fluxo de trabalho de PoC de teste seguro.
Este projeto documenta o comportamento da vulnerabilidade, a configuração de teste e a abordagem de validação para que pesquisadores e defensores possam reproduzir as descobertas de forma responsável.
Este repositório destina-se apenas a testes autorizados, locais e controlados.
Notas do PoC seguro estão em docs/SAFE_TEST_POC.md.
Contexto, objetivos e roteiro do projeto estão em docs/ABOUT.md.
go mod tidy
go build -o poc-test .
./poc-test <target-binary> [arg1 arg2 ...] [optional_file_to_capture]
Nota: a execução em tempo real é apenas para Linux porque o PoC usa chamadas de sistema pidfd_*.
Em hosts não Linux, executar ./poc-test intencionalmente termina com:
this PoC is Linux-only at runtime. Build with GOOS=linux to generate a Linux executable.
Você pode compilar um executável Linux a partir de macOS, Linux ou Windows usando compilação cruzada Go:
# Linux amd64 binary
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w" -o bin/poc-test-linux-amd64 .
# Linux arm64 binary
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -trimpath -ldflags "-s -w" -o bin/poc-test-linux-arm64 .
Esses comandos produzem binários ELF estáticos (sem dependência de libc compartilhada).
Este repositório inclui:
bin/poc-test-linux-amd64bin/poc-test-linux-arm64Uso direto no Linux (apenas ambientes de teste autorizados):
chmod +x bin/poc-test-linux-amd64
./bin/poc-test-linux-amd64 <target-binary> [arg1 arg2 ...] [optional_file_to_capture]
Validado neste repositório em 17 de maio de 2026:
go mod tidy: sucessogo build -o poc-test .: sucesso./poc-test em host não Linux: mensagem de saída esperada apenas para LinuxCGO_ENABLED=0 GOOS=linux GOARCH=amd64 ...: sucessoCGO_ENABLED=0 GOOS=linux GOARCH=arm64 ...: sucessoEste código é compartilhado para apoiar pesquisa em segurança, validação e verificação de patches. Você é responsável por cumprir todas as leis, políticas e requisitos de autorização.