
회사에서 GitLab을 직접 설치해 쓰고 있다면 지금 바로 버전을 확인해야 합니다!
GitLab이 10월에만 두 번, CVSS 10.0(최고 등급) 취약점을 긴급 패치했습니다. 둘 다 로그인하지 않은 공격자가 서버에서 코드를 실행할 수 있는 취약점이고, 10월 21일에 공개된 CVE-2026-110264는 2014년에 나온 GitLab 7.0부터 거의 모든 버전에 해당합니다. 10월 12일 패치를 이미 적용한 서버도 다시 업데이트해야 합니다.
한눈에 보기
| 대상 | 직접 설치해 운영하는(Self-managed) GitLab CE·EE |
| CVE-2026-110264 | 정규식 컴파일 과정의 정수 오버플로 → 원격 코드 실행 · CVSS 10.0 · 인증 불필요 · 2026-10-21 공개 |
| CVE-2026-97229 | CI/CD 정규식 컴파일러의 정수 오버플로 → 원격 코드 실행 · CVSS 10.0 · 인증 불필요 · 2026-10-12 공개 |
| 영향 범위 | 110264: 7.0 ~ 19.5.0 대부분 / 97229: 19.2 ~ 19.4 일부 |
| 수정 버전 | 19.5.1 · 19.4.3 · 19.3.6 · 19.2.9 · 19.1.9 · 19.0.10 · 18.11.13 |
| GitLab.com | 이미 패치됨(조치 불필요) |
| 임시 우회책 | 없음 — 업데이트만이 해결책 |
무슨 일이 있었나
| 2026-09-11 | 미국 CISA가 GitLab의 비인증 정보 노출 취약점(CVE-2026-85706)을 '실제 악용 중' 목록(KEV)에 추가, 3일 내 조치 지시 |
| 2026-10-12 | GitLab 긴급 패치 19.4.2 · 19.3.5 · 19.2.8 — CVE-2026-97229(CVSS 10.0) 포함 보안 이슈 24건 수정 |
| 2026-10-21 | 9일 만에 또 긴급 패치 19.5.1 · 19.4.3 · 19.3.6 · 19.2.9 · 19.1.9 · 19.0.10 · 18.11.13 — CVE-2026-110264(CVSS 10.0) 포함 12건 수정 |
| 2026-10-22 | Censys, 인터넷에 노출된 GitLab 호스트 81,820개 확인 · CERT-EU 보안 권고 발표 |
10월 22일 기준으로 실제 악용 사례나 공개된 공격 코드는 확인되지 않았습니다. 하지만 패치가 공개되면 공격자는 패치 전후를 비교해 공격 방법을 찾아냅니다. 최근에는 AI 도구로 이 과정이 크게 빨라지고 있어, "아직 악용 사례가 없다"는 것이 기다려도 된다는 뜻은 아닙니다.
왜 위험한가
- 로그인이 필요 없습니다. 계정이 없는 외부 공격자도 시도할 수 있습니다.
- GitLab에는 회사의 핵심 자산이 모여 있습니다. 소스 코드는 물론, CI/CD 파이프라인에 등록된 클라우드 키·배포 비밀번호·서명 키가 함께 있습니다. 코드는 GitLab 서버의 git 계정 권한으로 실행되므로 저장소와 CI/CD 자격증명이 노출될 수 있습니다.
- 12년 치 버전이 모두 해당됩니다. 오래전에 설치하고 업데이트를 미뤄 둔 서버일수록 위험합니다. Censys는 노출된 GitLab의 절반 이상이 7개월 넘게 지난 버전을 쓰는 것으로 추정했습니다.
- 10월 12일 패치로는 부족합니다. 19.4.2 · 19.3.5 · 19.2.8로 올린 서버도 CVE-2026-110264에는 여전히 취약합니다.
- 공급망 공격으로 이어집니다. 소스 코드나 빌드 파이프라인이 오염되면 우리 회사 제품을 쓰는 고객까지 피해가 번집니다.
우리 서버도 해당될까
사용 중인 버전이 아래 '수정 버전'보다 낮으면 취약합니다. CE·EE 모두 같습니다.
| 사용 중인 버전 | 수정 버전(이상으로 업데이트) | CVE-2026-97229 |
|---|---|---|
| 19.5.x | 19.5.1 | 해당 없음 |
| 19.4.x | 19.4.3 | 19.4.2 미만 해당 |
| 19.3.x | 19.3.6 | 19.3.5 미만 해당 |
| 19.2.x | 19.2.9 | 19.2.8 미만 해당 |
| 19.1.x | 19.1.9 | 해당 없음 |
| 19.0.x | 19.0.10 | 해당 없음 |
| 18.11.x | 18.11.13 | 해당 없음 |
| 18.10 이하(7.0~) | 수정 버전 없음 → 18.11.13 또는 19.x 최신으로 업그레이드 | 해당 없음 |
확인할 때 주의할 점이 있습니다.
- 관리자 화면을 볼 수 없으면 버전을 알기 어렵습니다. GitLab은 보안을 위해 로그인하지 않은 사용자에게 버전 번호를 보여 주지 않습니다. 담당자가 퇴사했거나 외주로 설치한 서버라면 지금 몇 버전인지 아무도 모르는 경우가 많습니다.
- 잊고 있던 GitLab이 더 위험합니다. 테스트용으로 띄워 둔 서버, 이전 프로젝트에서 쓰던 서버, 협력사가 운영하는 서버처럼 관리 목록에서 빠진 GitLab이 업데이트도 빠집니다.
- GitLab.com을 쓴다면 조치가 필요 없습니다. 이번 이슈는 직접 설치한 서버에 해당합니다.
밖에서 GitLab 버전을 확인하는 방법

JC-Lab 무료 자가진단에 GitLab 버전 식별 기능을 추가했습니다. 로그인 정보나 관리자 권한 없이, 밖에서 GitLab의 에디션(CE·EE)과 버전을 식별합니다. 공격자가 인터넷에서 패치하지 않은 GitLab을 찾는 것과 같은 시선으로, 우리 서버가 취약한 버전인지 먼저 확인할 수 있습니다.
- GitLab 주소(예: gitlab.example.com)를 입력합니다.
- 결과의 웹 보안 점검 → 서버 소프트웨어에서 GitLab 에디션과 버전을 확인합니다.
- 그 버전을 위 표의 수정 버전과 비교합니다. 수정 버전보다 낮으면 바로 업데이트하세요.
예시: 10월 12일 패치만 적용한 GitLab
테스트용으로 직접 설치한 GitLab CE 19.4.2를 점검해 봤습니다. CVE-2026-97229는 고쳐졌지만, CVE-2026-110264의 수정 버전(19.4.3)보다 낮은 버전입니다.

로그인하지 않은 상태에서 GitLab CE 19.4.2로 식별됐습니다. 위 표와 비교하면 19.4.3 미만이므로 CVE-2026-110264에 취약하고, 19.4.3 이상으로 업데이트해야 합니다.
한 번 더, 오래 업데이트하지 않은 GitLab CE 18.11.12도 점검해 봤습니다. 18.11 계열의 수정 버전(18.11.13)보다 낮으므로 CVE-2026-110264에 취약합니다.

이번에는 버전과 함께 미국 NVD에 등록된 알려진 취약점 44건(CRITICAL 등급 포함)이 자동으로 표시됐습니다. 버전이 오래될수록 이미 알려진 취약점이 쌓여 있다는 뜻입니다.
이처럼 식별된 버전에 NVD에 등록된 CVE가 있으면 결과에 함께 표시됩니다. 다만 공개된 지 며칠 안 된 CVE는 NVD에 영향 버전이 등록되기 전이라 목록에 바로 나타나지 않을 수 있습니다. 이번 두 취약점처럼 막 공개된 이슈는 식별된 버전을 보안 권고의 수정 버전과 직접 비교하는 것이 가장 정확합니다.
지금 해야 할 일
- 우리 회사의 GitLab을 모두 찾습니다. 운영 서버뿐 아니라 테스트·과거 프로젝트·협력사 서버까지 목록을 만듭니다.
- 각 서버의 버전을 확인합니다. 관리자 화면(Admin Area)이나 자가진단으로 확인합니다.
- 수정 버전으로 업데이트합니다. 임시 우회책은 없습니다. 단일 서버 구성은 데이터베이스 마이그레이션 때문에 업데이트 중 서비스가 잠시 멈추니 작업 시간을 잡아 두세요. 18.10 이하라면 여러 단계를 거쳐야 하는 업그레이드 경로를 먼저 확인합니다.
- 업데이트 전까지 노출을 줄입니다. 꼭 인터넷에 열어 둘 필요가 없는 GitLab이라면 VPN이나 사내망에서만 접속되도록 막습니다. 보조 수단일 뿐 업데이트를 대신하지는 못합니다.
- 침해 흔적을 확인합니다. GitLab이 공개한 탐지 항목(정규식 처리 워커의 비정상 종료, Org 문서 렌더링 오류 급증)을 로그에서 찾아보고, 낯선 관리자 계정·액세스 토큰·러너·웹훅이 생기지 않았는지 확인합니다.
침해 흔적이 보인다면 업데이트만으로는 끝나지 않습니다. CI/CD 변수에 저장된 클라우드 키·배포 비밀번호와 액세스 토큰을 모두 교체하고 전문가 점검을 받으세요.
자가진단으로 알 수 없는 것
자가진단은 공개된 정보와 무해한 요청만 사용하고, 공격성 요청은 보내지 않습니다. 그래서 알 수 없는 것도 있습니다. 일부 설치 환경에서는 버전 대신 에디션만 표시되거나, 인접한 패치 버전 두 개가 후보로 표시될 수 있습니다. 실제로 공격이 통하는지는 소유권이 확인된 자산에 대한 AI 모의해킹으로 확인해야 합니다.
자주 묻는 질문
10월 12일에 이미 패치했는데 또 해야 하나요?
네. 10월 12일 패치(19.4.2 · 19.3.5 · 19.2.8)는 CVE-2026-97229만 고쳤습니다. CVE-2026-110264는 10월 21일 패치(19.4.3 · 19.3.6 · 19.2.9 등)에서 고쳐졌습니다.
GitLab을 사내망에서만 쓰는데 괜찮은가요?
외부 공격자가 직접 접근하기는 어렵지만, 내부 PC 한 대가 감염되거나 VPN 계정이 유출되면 같은 공격이 가능합니다. 사내망 서버도 업데이트하세요.
GitLab.com(클라우드)을 쓰고 있습니다.
GitLab이 이미 패치했으므로 따로 할 일은 없습니다. GitLab Dedicated도 19.3.5-internal0 · 19.4.2-internal0 이후 버전이면 적용돼 있습니다.
18.10 이하의 오래된 버전은 어떻게 하나요?
해당 버전용 수정 릴리스가 없습니다. GitLab의 공식 업그레이드 경로를 따라 18.11.13 또는 19.x 최신 버전까지 올려야 합니다.
자가진단에서 GitLab이 보이지 않으면 안전한가요?
아닙니다. 다른 경로에 설치했거나 접근이 제한된 GitLab은 보이지 않을 수 있습니다. 관리자 화면에서 직접 버전을 확인하세요.
출처
- GitLab — Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13 (2026-10-21)
- GitLab — Critical Patch Release: 19.4.2, 19.3.5, 19.2.8 (2026-10-12)
- eSecurity Planet — GitLab Patches Second 10.0 RCE Flaw in October
- The Hacker News — Critical GitLab Flaw (CVSS 10.0) Could Allow Unauthenticated RCE Across 12 Years of Releases
- BleepingComputer — GitLab warns of max severity code execution vulnerability
'취약점' 카테고리의 다른 글
| PHP2Shell(CVE-2026-109618·109619) 총정리 — 우리 서버는 안전할까? (0) | 2026.10.22 |
|---|
