핵심: 인터넷 노출 자체 운영 GitLab은 지금 업데이트해야 한다
CVE-2026-85706은 자체 운영형 GitLab Community Edition(CE)과 Enterprise Edition(EE)에 영향을 주는 최고 심각도 경로 탐색(path traversal) 취약점이다. CVSS 3.1 점수는 10.0이다. 특정 조건에서 인증되지 않은 공격자가 GitLab 서버에서 임의 파일을 읽을 수 있다. 이론상 위험에 그치지 않는다. 미국 사이버보안·기간시설안보국(CISA)은 이 취약점을 실제 악용이 확인된 취약점 목록인 KEV(Known Exploited Vulnerabilities)에 올렸고, 보안 연구자들은 패치 공개 직후 인터넷 연결 인스턴스를 겨냥한 탐색 시도를 관측했다고 밝혔다.
3
21
22
영향 범위에 속하는 자체 운영 인스턴스는 다음 패치 버전 또는 그 이후 버전으로 최대한 빨리 올려야 한다.
- 19.1.8 이상
- 19.2.6 이상
- 19.3.2 이상
영향 버전은 GitLab CE·EE 18.7 이상 19.1.8 미만, 19.2 이상 19.2.6 미만, 19.3 이상 19.3.2 미만이다. GitLab은 2026년 9월 10일 수정 버전을 배포했다.
3
7
무엇이 가능한 취약점인가
문제는 GitLab의 Repository Commits API에 있다. 공식 설명에 따르면, 사용자가 제어하는 경로를 의도된 범위 안에 가두지 못한 점과 인증 강제 적용이 빠진 점이 결합됐다. 이로 인해 인증되지 않은 요청자가 GitLab 서비스 프로세스가 읽을 수 있는 임의 파일을 가져갈 수 있다.
3
이 취약점의 본질은 파일 정보 유출이다. 제공된 보고만으로 CVE-2026-85706 자체가 원격 코드 실행(RCE)을 제공한다고 단정할 수는 없다. 다만 임의 파일 읽기는 후속 침해에 필요한 단서를 노출할 수 있다. 서버 구성에 따라 애플리케이션 설정, 토큰, SSH 키, 데이터베이스 자격증명 등 GitLab 프로세스가 읽을 수 있는 비밀정보가 대상이 될 수 있다.
9
25
왜 ‘실제 악용’ 신호가 중요한가
watchTowr는 9월 11일 자사 허니팟 네트워크에서 이 취약점을 겨냥한 실제 탐색 요청을 관측했다고 밝혔다. CISA의 KEV 등재도 중요한 경고다. KEV는 실제 환경에서 악용된 증거가 있는 취약점을 식별하기 위해 운영되는 목록이다.
2
22
공개 보고는 탐색 및 악용 활동을 뒷받침하지만, 단일 공격 주체나 신뢰할 만한 피해 규모, 모든 공격에 공통된 후속 침해 경로를 제시하지는 않는다. 따라서 침해 신고가 없다는 이유만으로 외부에 노출된 서버가 공격받지 않았다고 판단해서는 안 된다.
노출된 서버는 ‘비밀정보 유출 가능 사고’로 다뤄야 한다
패치는 취약한 동작을 멈추지만, 이미 읽혀 나간 데이터를 되돌리지는 못한다. 인터넷에 노출된 영향 인스턴스라면 광범위한 정리 작업에 앞서 증거를 보존하고, GitLab 서비스 계정이 접근할 수 있었던 자산을 평가해야 한다.
우선 검토·교체할 대상은 다음과 같다.
- GitLab 애플리케이션 및 구성 비밀정보
- 구성 파일에 저장된 데이터베이스, Redis, 오브젝트 스토리지, 컨테이너 레지스트리, SMTP, 디렉터리 서비스, ID 공급자 자격증명
- CI/CD 변수, 배포 토큰, 액세스 토큰, 러너 토큰, 배포 키, 작업 또는 통합 구성에 마운트된 자격증명
- 클라우드 키, 패키지 레지스트리 자격증명, 서명 키, 호스트 또는 GitLab 프로세스가 접근 가능한 SSH·TLS 개인 키
교체 작업은 신중하게 설계해야 한다. 애플리케이션 비밀정보나 암호화 관련 설정을 바꾸면 세션이 무효화되거나 암호화된 설정 및 연동 기능에 장애가 생길 수 있다. 먼저 관련 로그와 구성 증거를 확보하고, 복구 절차를 준비한 뒤 위험도가 높은 자격증명부터 통제된 순서로 교체하는 편이 바람직하다.
탐지: 우선 확인할 로그 흔적
초기 탐지 지표로는 다음 Repository Commits API 경로를 향한 HTTP POST 요청이 있다.
/api/v4/projects/<id>/repository/commits/
특히 file.path 파라미터가 포함된 요청을 찾아야 한다. 리버스 프록시, 로드밸런서, WAF, GitLab Rails 접근 로그에서 인증되지 않은 비정상 요청, 경로 탐색 형태로 인코딩된 입력값, 예상 밖 프로젝트 ID, 반복 실패 또는 열거 패턴, 비정상적으로 큰 응답 크기를 점검한다.
21
24
26
의심 노출 시점 이후의 연관 활동도 조사 대상이다. 새로 생성되거나 사용된 토큰, 러너 등록, 변경된 CI/CD 변수 또는 파이프라인 정의, 비정상 프로젝트 임포트, GraphQL 활동, 예상 밖 외부 연결 등을 살펴봐야 한다. 배포 관련 가이드에서는 커밋, GraphQL 구독, 프로젝트 임포트, CI/CD 파이프라인 검토도 권고한다.
23
다만 로그 검색 결과가 깨끗하다고 해서 안전하다는 뜻은 아니다. 보존 기간이 짧거나 애플리케이션 로그에 필요한 요청 세부정보가 남지 않았을 수 있으며, 프록시나 WAF 기록만 유일한 증거일 수 있다.
업데이트가 지연될 때의 임시 조치
근본 조치는 업데이트다. 긴급 업데이트를 즉시 수행할 수 없다면, GitLab 웹·API 서비스 접근을 VPN 또는 승인된 네트워크로 제한해 노출 면적을 줄여야 한다. 리버스 프록시나 WAF에서 영향받는 Repository Commits API 경로를 엄격하게 제한하는 규칙도 단기적인 위험 완화에는 도움이 될 수 있다. 하지만 정상 자동화를 중단시킬 수 있고, 패치의 대체 수단으로 간주해서는 안 된다.
영향 서버별 권장 대응 순서는 다음과 같다.
- 식별 및 우선순위 설정: 외부에서 접근 가능한 자체 운영 인스턴스를 먼저 찾는다.
- 업데이트: 19.1.8, 19.2.6, 19.3.2 또는 그 이후 버전으로 올린다.
- 실행 버전 확인: 변경 후 실제 실행 중인 버전을 검증한다.
- 로그 보존·검토: 악용 징후를 찾기 전에 로그를 보존한다.
- 비밀정보 교체: 서버 접근 범위와 업무 영향을 기준으로 노출 가능 자격증명을 교체한다.
CISA KEV 등재와 기한
CISA는 2026년 9월 11일 CVE-2026-85706을 KEV 목록에 추가했다. 미국 연방 민간기관 가운데 적용 대상 기관에는 9월 14일까지 조치하라는 기한이 설정됐다. 이 기한이 민간 조직에 직접 적용되는 것은 아니지만, 인터넷에 노출된 자체 운영 배포 환경이 직면한 긴급성을 보여주는 기준으로 볼 수 있다.
3
함께 수정된 다른 취약점
같은 보안 업데이트에는 EE 관련 취약점도 포함됐다.
- CVE-2026-87719: 인증된 사용자가 악용할 수 있는 안전하지 않은 역직렬화 문제로 보고됐으며, CVSS 점수는 9.9다. 일부 보고에서는 Advanced Search 구성 및 자격증명 노출과 연관된 것으로 설명한다.
6
- CVE-2026-88765: 조작된 Git 프로젝트 내보내기 파일을 가져오는 과정에서 인증된 사용자가 원격 코드 실행을 유발할 수 있는 위험으로 보고됐으며, CVSS 점수는 8.5다.
6
25
두 취약점은 CVE-2026-85706과 전제 조건과 영향이 다르다. 외부에 노출된 자체 운영 GitLab이라면, 인증 없이 악용될 수 있고 실제 활동 징후까지 포착된 CVE-2026-85706을 최우선으로 격리·대응해야 한다.