
Ricerca sulla perdita di descrittori di file basata su `pidfd_getfd(2)` da processi SUID privilegiati. Dimostra la cattura di FD in condizioni di race contro OpenSSH `ssh-keysign` e l'esposizione di handle di file sensibili di proprietà di root.
Repository di ricerca e formazione per CVE-2026-46333, focalizzato sull'analisi riproducibile e su un flusso di lavoro sicuro per il PoC di test.
Questo progetto documenta il comportamento della vulnerabilità, la configurazione di test e l'approccio di validazione, in modo che ricercatori e difensori possano riprodurre i risultati in modo responsabile.
Questo repository è destinato esclusivamente a test autorizzati, locali e controllati.
Le note sul PoC sicuro si trovano in docs/SAFE_TEST_POC.md.
Il background, gli obiettivi e la tabella di marcia del progetto si trovano in docs/ABOUT.md.
go mod tidy
go build -o poc-test .
./poc-test <target-binary> [arg1 arg2 ...] [optional_file_to_capture]
Nota: l'esecuzione in runtime è solo per Linux perché il PoC utilizza le syscall pidfd_*.
Su host non Linux, eseguendo ./poc-test si esce intenzionalmente con:
this PoC is Linux-only at runtime. Build with GOOS=linux to generate a Linux executable.
È possibile compilare un eseguibile Linux da macOS, Linux o Windows utilizzando la cross-compilazione di 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 .
Questi comandi producono binari ELF statici (nessuna dipendenza condivisa da libc).
Questo repository include:
bin/poc-test-linux-amd64bin/poc-test-linux-arm64Utilizzo diretto su Linux (solo ambienti di test autorizzati):
chmod +x bin/poc-test-linux-amd64
./bin/poc-test-linux-amd64 <target-binary> [arg1 arg2 ...] [optional_file_to_capture]
Validati in questo repository il 17 maggio 2026:
go mod tidy: successogo build -o poc-test .: successo./poc-test su host non Linux: messaggio di uscita previsto per solo LinuxCGO_ENABLED=0 GOOS=linux GOARCH=amd64 ...: successoCGO_ENABLED=0 GOOS=linux GOARCH=arm64 ...: successoQuesto codice è condiviso per supportare la ricerca sulla sicurezza, la validazione e la verifica delle patch. Sei responsabile del rispetto di tutte le leggi, politiche e requisiti di autorizzazione.