
Lab GitLab isolé basé sur Vagrant pour les tests défensifs autorisés et la validation de CVE-2026-85706, avec des profils vulnérable et corrigé ainsi que des exercices pour étudiants.
Ce répertoire construit un laboratoire GitLab isolé, local uniquement, pour des tests défensifs autorisés de CVE-2026-85706. La CVE affecte le confinement du chemin de l'API repository-commits de GitLab CE/EE et l'application de l'authentification. Il utilise une machine virtuelle Ubuntu complète.
127.0.0.1:8443 sur l'hôte par défaut
(personnalisable avec LAB_HTTPS_PORT) et utilise
une adresse invitée host-only../scripts/teardown-vm.sh.curl, et opensslbashcd ~/gitlab-cve-lab
./scripts/setup-vm.sh
Le script de configuration crée une VM, installe GitLab CE directement depuis le
dépôt de paquets officiel et attend le point de terminaison de santé. Ouvrez le laboratoire à
https://127.0.0.1:8443 (le navigateur avertira à propos du certificat local).
Utilisez LAB_HTTPS_PORT et LAB_SSH_PORT lorsque les valeurs par défaut ne sont pas disponibles.
Le profil par défaut est vulnerable, épinglé à GitLab CE 19.3.1-ce.0, qui se
situe dans la plage affectée publiée pour CVE-2026-85706. Pour construire le profil
de comparaison corrigé, exécutez :
LAB_PROFILE=patched ./scripts/setup-vm.sh
Le profil corrigé utilise GitLab CE 19.3.2-ce.0. Si le dépôt de paquets ne
propose plus cette version exacte, définissez GITLAB_VERSION sur une version corrigée fournie par le
fournisseur avant d'exécuter la configuration.
./scripts/smoke-test-vm.sh
Le test de fumée vérifie la santé de la VM, l'accessibilité des ports en local uniquement et qu'une requête non authentifiée vers l'API repository-commits n'est pas traitée comme une opération de lecture de fichier authentifiée. Il ne tente intentionnellement pas de récupérer des fichiers arbitraires.
Pour un test authentifié contrôlé, créez un projet privé jetable dans l'interface GitLab, ajoutez un commit de test et utilisez uniquement des chemins à l'intérieur de ce projet. Enregistrez les horodatages et les codes de statut HTTP, pas le contenu de fichiers sensibles.
./scripts/teardown-vm.sh
Cela éteint et détruit la VM, son disque attaché et son certificat généré.
Ce projet est disponible sous la licence MIT. Les exigences d'utilisation responsable pour le laboratoire vulnérable sont documentées dans le contrat de licence et la politique de sécurité.