
Investigación sobre la fuga de descriptores de archivo basada en `pidfd_getfd(2)` desde procesos privilegiados con SUID. Demuestra la captura de descriptores de archivo mediante condición de carrera contra OpenSSH `ssh-keysign` y la exposición de manejadores de archivos sensibles propiedad de root.
Repositorio educativo y de investigación para CVE-2026-46333, centrado en el análisis reproducible y un flujo de trabajo seguro de PoC de prueba.
Este proyecto documenta el comportamiento de la vulnerabilidad, la configuración de las pruebas y el enfoque de validación para que investigadores y defensores puedan reproducir los hallazgos de manera responsable.
Este repositorio está destinado únicamente a pruebas autorizadas, locales y controladas.
Las notas sobre el PoC seguro se encuentran en docs/SAFE_TEST_POC.md.
Los antecedentes, los objetivos y la hoja de ruta del proyecto se encuentran en docs/ABOUT.md.
go mod tidy
go build -o poc-test .
./poc-test <target-binary> [arg1 arg2 ...] [optional_file_to_capture]
Nota: la ejecución en runtime es solo para Linux porque el PoC utiliza syscalls pidfd_*.
En hosts que no sean Linux, ejecutar ./poc-test sale intencionadamente con:
this PoC is Linux-only at runtime. Build with GOOS=linux to generate a Linux executable.
Puede compilar un ejecutable de Linux desde macOS, Linux o Windows mediante la compilación cruzada de 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 .
Estos comandos producen binarios ELF estáticos (sin dependencia compartida de libc).
Este repositorio incluye:
bin/poc-test-linux-amd64bin/poc-test-linux-arm64Uso directo en Linux (solo entornos de prueba autorizados):
chmod +x bin/poc-test-linux-amd64
./bin/poc-test-linux-amd64 <target-binary> [arg1 arg2 ...] [optional_file_to_capture]
Validado en este repositorio el 17 de mayo de 2026:
go mod tidy: éxitogo build -o poc-test .: éxito./poc-test en un host que no sea Linux: mensaje de salida esperado de solo-LinuxCGO_ENABLED=0 GOOS=linux GOARCH=amd64 ...: éxitoCGO_ENABLED=0 GOOS=linux GOARCH=arm64 ...: éxitoEste código se comparte para apoyar la investigación en seguridad, la validación y la verificación de parches. Usted es responsable de cumplir con todas las leyes, políticas y requisitos de autorización.