
Laboratorio de GitLab aislado basado en Vagrant para pruebas defensivas autorizadas y validación de CVE-2026-85706, con perfiles vulnerables y parcheados, además de ejercicios para estudiantes.
Este directorio construye un laboratorio de GitLab aislado y exclusivamente local para pruebas defensivas autorizadas de CVE-2026-85706. El CVE afecta la API repository-commits de GitLab CE/EE en el confinamiento de rutas y la aplicación de autenticación. Utiliza una máquina virtual completa de Ubuntu.
127.0.0.1:8443 en el host de forma predeterminada
(personalizable con LAB_HTTPS_PORT) y utiliza
una dirección de invitado solo-host../scripts/teardown-vm.sh.curl, openssl y bashcd ~/gitlab-cve-lab
./scripts/setup-vm.sh
El script de configuración crea una VM, instala GitLab CE directamente desde el
repositorio oficial de paquetes y espera al endpoint de estado. Abra el laboratorio en
https://127.0.0.1:8443 (el navegador advertirá sobre el certificado local).
Use LAB_HTTPS_PORT y LAB_SSH_PORT cuando los valores predeterminados no estén disponibles.
El perfil predeterminado es vulnerable, fijado a GitLab CE 19.3.1-ce.0, que está
dentro del rango afectado publicado para CVE-2026-85706. Para compilar el perfil de
comparación parcheado, ejecute:
LAB_PROFILE=patched ./scripts/setup-vm.sh
El perfil parcheado usa GitLab CE 19.3.2-ce.0. Si el repositorio de paquetes ya
no ofrece esa versión exacta, establezca GITLAB_VERSION a una versión parcheada
proporcionada por el proveedor antes de ejecutar la configuración.
./scripts/smoke-test-vm.sh
La prueba de humo verifica el estado de la VM, la accesibilidad de puertos solo locales y que una solicitud no autenticada a la API repository-commits no se trate como una operación autenticada de lectura de archivos. Intencionalmente no intenta recuperar archivos arbitrarios.
Para una prueba autenticada controlada, cree un proyecto privado desechable en la interfaz de GitLab, agregue un commit de prueba y use solo rutas dentro de ese proyecto. Registre marcas de tiempo y códigos de estado HTTP, no contenidos de archivos sensibles.
./scripts/teardown-vm.sh
Esto apaga y destruye la VM, su disco adjunto y su certificado generado.
Este proyecto está disponible bajo la Licencia MIT. Los requisitos de uso responsable para el laboratorio vulnerable están documentados en el acuerdo de licencia y la política de seguridad.