GitLab CE/EE의 repository commits API에서 발생한 경로 순회(path traversal) 취약점 CVE-2026-85706이 CISA의 Known Exploited Vulnerabilities(KEV) 카탈로그에 등재됐다. GitLab은 19.1.8, 19.2.6, 19.3.2 패치 릴리스로 해당 이슈를 시정했다고 밝혔다.
개요

이번 취약점은 GitLab CE/EE의 repository commits API와 repository files API의 경로 처리 구간에서 발생한다. CVE 기록과 GitLab 공식 시정 안내에 따르면, 특정 조건에서 인증되지 않은(unauthenticated) 사용자가 인스턴스에서 임의의 파일을 읽을 수 있었다. GitLab은 이 문제를 19.3.2, 19.2.6, 19.1.8 패치 릴리스에서 시정했다.
CISA는 2026년 9월 11일 알림을 통해 CVE-2026-85706을 KEV 카탈로그에 추가했으며, 이는 실제 악용(active exploitation)에 대한 증거가 확인됐다는 의미다. 또한 공개 exploit이 이미 존재하며, 이 exploit이 사용하는 우회 방식이 확인된 상태다.
참고로 GitLab의 패치 노트는 이 CVE 항목의 심각도를 Low로 표기하고 있는 반면, GitLab Security Signals Engineering의 TLDR Detections 자료는 이를 critical path-traversal로 기술하고 있다. 두 평가 사이의 격차의 근거는 현재 근거 자료에 상세하지 않다. KEV 등재와 공개 exploit 존재를 고려하면, 조직 내 운영적 우선순위는 높게 잡는 것이 합리적이다.
영향 범위
- 영향받는 버전: GitLab CE/EE 중 18.7부터 19.1.8 미만, 19.2부터 19.2.6 미만, 19.3부터 19.3.2 미만
- 영향받는 API: repository commits API와 repository files API
- 접근 조건: 특정 조건 하에 인증되지 않은 사용자가 임의 파일 읽기 가능
한 가지 유의할 점은, CVE 기록과 GitLab 시정 안내에서 발생 조건을 under certain conditions로만 명시하고 있다는 사실이다. 인스턴스 설정이나 특정 API 사용 패턴 등 구체적 전제 조건은 현재 근거 자료에 상세하지 않다. 실제 적용 조건이 확인되지 않는 한, 영향받는 버전 구간의 모든 인스턴스를 잠재 영향 대상으로 취급하는 것이 안전하다.
기술적 분석
취약점은 API의 경로 처리 과정에서 발생한다. GitLab의 공식 시정 내용과 TLDR Detections 자료에 따르면, 공개 exploit은 다음 두 가지 방식으로 라우트 소거(route sanitization)를 우회한다.
- trailing-slash bypass: 경로 끝의 슬래시를 이용해 라우트 소거를 우회
- percent-encoding: 라우트와 파라미터를 퍼센트 인코딩해 라우트 소거를 우회
TLDR Detections 자료는 공개 exploit이 이러한 방식으로 라우트 소거를 우회하기 때문에, 탐지가 정확한 리터럴 라우트에 의존해서는 안 된다고 지적한다. 관련 이벤트는 api_json.log 파일에 나타나며 SIEM 솔루션에 통합할 수 있다.
공개 PoC·익스플로잇 분석
- 출처: GitLab Security Signals Engineering의 TLDR Detections(GitLab LFI via metadata.path) 자료와 CISA KEV 등재 사실
- 전제조건: 특정 조건(
under certain conditions) 하에 동작하며, 우회 방식은 trailing-slash bypass와 라우트·파라미터의 percent-encoding - 입증 범위: 특정 조건 하에 인증되지 않은 사용자의 임의 파일 읽기(CVE 기록)와 라우트 소거를 우회하는 공개 exploit(TLDR Detections)
- 운영상 의미: KEV 등재의 근거가 실제 악용 증거(evidence of active exploitation)이고 공개 exploit의 우회 방식도 확인됐으므로, 이 취약점은 PoC 수준의 추정치가 아닌 확인된 실제 공격 시나리오로 다루어야 한다.
한계가 되는 부분도 있다. CISA KEV 알림은 취약점 1건 추가를 통보하는 수준이며, 이번 악용에 관련되는 공격자·TTP·타겟 범위에 대한 세부 기술은 현재 근거에 없다. Sigma 규칙이 제공한다는 sibling-parameter coverage 표현은 기존 LFI 탐지와 이 규칙 사이의 관계를 나타내며, 단일 규칙만으로는 탐지 공백이 남을 수 있어 추가 탐지 계층을 함께 고려해야 한다.
대응 방안
즉시 조치
- 18.7부터 19.1.8 미만, 19.2부터 19.2.6 미만, 19.3부터 19.3.2 미만 버전의 인스턴스를 즉시 식별하고 각각 19.1.8, 19.2.6, 19.3.2 패치 릴리스로 적용
api_json.log이벤트 기반 Sigma 규칙(GitLab LFI via metadata.path)을 SIEM에 적용해metadata.path파라미터의 이상 사용 모니터링을 시작- 탐지 규칙은
api_json.log이벤트를 기반으로 구성하되, 정확한 리터럴 라우트에만 의존하지 않도록 해야 한다. 공개 exploit이 trailing-slash bypass와 percent-encoding으로 라우트 소거를 우회하기 때문이다 - 최근
api_json.log에서 경로 순회 의심 이벤트를 소급 검토하고,api_json.log이벤트를 SIEM 솔루션에 통합해 탐지를 지속한다
GitLab이 제시한 시정 방법은 19.1.8, 19.2.6, 19.3.2 패치 릴리스 적용이며, TLDR Detections 자료는 SIEM에 통합할 수 있는 api_json.log 기반 탐지를 제시한다. 패치 적용과 로그 기반 탐지 점검을 함께 진행해야 한다.
참고자료
- CVE-2026-85706 — Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') in GitLab
- GitLab Critical Patch Release: 19.3.2, 19.2.6, 19.1.8
- CISA Adds One Known Exploited Vulnerability to Catalog
- GitLab LFI via metadata.path parameter (Sigma detection)
함께 읽으면 좋은 글
- CVE-2026-65400: macOS Screen Sharing 인증 결함, KEV 등재와 기업 단말 업데이트 점검
- CVE-2026-9198: IBM Langflow 기본 배포 원격 코드 실행, KEV 등재와 AI 워크플로 점검
- CVE-2026-78135: strongSwan IKEv2 인증 전 Child SA 생성 취약점과 6.1.0 패치
본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.
댓글 (0)
댓글을 작성하려면 로그인이 필요합니다.
로그인아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!