
CVE-2026-85706의 승인된 방어적 테스트 및 검증을 위한 Vagrant 기반 격리형 GitLab 랩으로, 취약 및 패치 프로필과 학생 실습을 포함합니다.
이 디렉터리는 CVE-2026-85706에 대한 승인된 방어적 테스트를 위해 격리된 로컬 전용 GitLab 랩을 구축합니다. 이 CVE는 GitLab CE/EE repository-commits API의 경로 제한 및 인증 적용에 영향을 미칩니다. 전체 Ubuntu 게스트를 사용합니다.
127.0.0.1:8443에만 포워딩하며(LAB_HTTPS_PORT로 사용자 지정 가능), 호스트 전용 게스트 주소를 사용합니다../scripts/teardown-vm.sh로 랩을 제거하십시오.curl, openssl, bashcd ~/gitlab-cve-lab
./scripts/setup-vm.sh
설정 스크립트는 VM을 생성하고, 공식 패키지 저장소에서 GitLab CE를 직접 설치한 후, 상태 엔드포인트를 기다립니다. https://127.0.0.1:8443 에서 랩을 여십시오(브라우저가 로컬 인증서에 대해 경고합니다). 기본값을 사용할 수 없을 때는 LAB_HTTPS_PORT와 LAB_SSH_PORT를 사용하십시오.
기본 프로필은 vulnerable이며, CVE-2026-85706에 대해 공개된 영향 범위에 속하는 GitLab CE 19.3.1-ce.0에 고정되어 있습니다. 패치된 비교 프로필을 빌드하려면 다음을 실행하십시오:
LAB_PROFILE=patched ./scripts/setup-vm.sh
패치된 프로필은 GitLab CE 19.3.2-ce.0을 사용합니다. 패키지 저장소에서 해당 정확한 버전을 더 이상 제공하지 않는 경우, 설정을 실행하기 전에 GITLAB_VERSION을 벤더가 제공하는 패치된 버전으로 설정하십시오.
./scripts/smoke-test-vm.sh
스모크 테스트는 VM 상태, 로컬 전용 포트 도달 가능성, 그리고 repository-commits API에 대한 인증되지 않은 요청이 인증된 파일 읽기 작업으로 처리되지 않는지 확인합니다. 의도적으로 임의 파일을 검색하려고 시도하지 않습니다.
통제된 인증 테스트를 위해서는 GitLab UI에서 일회용 비공개 프로젝트를 생성하고, 테스트 커밋을 추가한 후, 해당 프로젝트 내의 경로만 사용하십시오. 민감한 파일 내용이 아닌 타임스탬프와 HTTP 상태 코드를 기록하십시오.
./scripts/teardown-vm.sh
이 명령은 VM, 연결된 디스크 및 생성된 인증서의 전원을 끄고 제거합니다.
이 프로젝트는 MIT 라이선스에 따라 제공됩니다. 취약한 랩에 대한 책임 있는 사용 요구 사항은 라이선스 계약 및 보안 정책에 문서화되어 있습니다.