2026년 10월 21일 GitLab은 커뮤니티 에디션(CE)과 엔터프라이즈 에디션(EE)을 대상으로 긴급 패치 릴리스를 배포했다. 대상 버전은 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 그리고 18.11.13이다. 이번 패치의 핵심은 CVSS 점수 10.0을 받은 인증 불필요(unauthenticated) 원격 코드 실행 취약점으로, GitLab은 자체 관리형(self-managed) 설치 환경 전체에 대해 즉시 업그레이드할 것을 강하게 권고했다. GitLab.com은 이미 패치된 버전으로 운영 중이며, GitLab Dedicated 테넌트 중 19.3.5-internal0 및 19.4.2-internal0 이상을 사용하는 경우에는 별도 조치가 필요 없다.
정규식 컴파일 과정의 정수 오버플로
가장 주목해야 할 취약점은 특수하게 조작된 정규표현식을 컴파일하는 과정에서 발생하는 정수 오버플로(integer overflow)에 기인한다. 특정 조건에서 인증되지 않은 사용자가 GitLab 서버에서 임의 코드를 실행할 수 있었다는 점에서 위험도가 최상위다. CVSS 벡터(AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H)가 보여주듯 네트워크를 통해 낮은 복잡도로, 권한이나 사용자 상호작용 없이 공격이 가능하며 범위 변경(Scope Changed)까지 수반해 기밀성·무결성·가용성이 모두 완전히 훼손될 수 있다. 영향 범위도 이례적으로 넓어 7.0부터 18.11.13 미만까지 포함되는데, GitLab은 이 때문에 정기 패치 대상이 아니던 18.11.13, 19.0.10, 19.1.9, 19.2.9 버전에도 수정 사항을 백포트했다. 이 취약점은 HackerOne 버그 바운티 프로그램을 통해 joaxcar가 제보했으며, GitLab 보안팀은 자체 관리형 인스턴스 운영자를 돕기 위해 두 가지 위협 탐지(threat detection) 룰도 함께 공개했다.
인증·신원 연동 경로에 집중된 결함들
CVSS 10.0 취약점 외에도 이번 릴리스는 열두 건에 가까운 추가 보안 수정을 담고 있으며, 상당수가 인증과 신원 연동(identity linking) 경로에 몰려 있다는 점이 특징이다. OmniAuth SAML과 LDAP 자동 연결이 동시에 활성화된 환경에서는 LDAP 이메일 조회 경로의 입력값 정제 미흡으로 인해 인증된 사용자가 대상 사용자의 아무런 개입 없이 기존 LDAP 기반 계정을 탈취할 수 있었다(CVSS 8.2). 또한 공유 캐시에 저장되는 OAuth/OIDC 디스커버리 문서를 조작해 일부 인증 흐름을 외부 통제 서버로 유도할 수 있는 캐시 포이즈닝 결함(CVSS 7.5), 인스턴스 전역 SAML·LDAP 멤버십 잠금이 잠금 이전에 생성된 요청에는 온전히 적용되지 않아 신원 공급자 통제를 우회해 멤버십을 부여·수락할 수 있던 문제(CVSS 5.9)도 포함됐다. 신원 연동을 외부 IdP에 위임한 조직이라면 이들 결함이 접근 통제의 전제를 흔들 수 있는 만큼 우선순위를 높여야 한다.
권한 경계와 데이터 노출 문제
권한 범위 집행이 불완전해 발생한 정보 노출 사례도 여럿이다. read_api 범위로 제한된 토큰이 GraphQL 필드의 범위 검증 미흡 탓에 프로젝트 수신 이메일 주소를 조회하고 작업 항목을 생성할 수 있었고(CVSS 6.8), 그룹 마일스톤 API의 프로젝트 필터 파라미터에 인가 검사가 빠져 멤버십 없이도 임의 비공개 프로젝트의 마일스톤 제목·설명·전체 경로를 읽을 수 있었다(CVSS 4.3). 내부 응답 헤더 필터링이 부실해 인증되지 않은 사용자가 내부 서버 자격 증명을 얻을 수 있던 결함(CVSS 4.3), 사용자별로 수정(redact)된 렌더링 결과를 전 사용자가 공유하는 뷰어 독립적 프래그먼트 캐시 키로 인해 비멤버가 비밀 이슈 제목을 읽을 수 있던 문제(CVSS 3.5)도 함께 메워졌다. 그 밖에 유료 AI 기능의 구독 검증 우회(CVSS 4.3), 승인 정책 우회, 취약점 레코드 삭제, 관리자가 잠근 Duo 가용성의 재활성화 같은 EE 전용 결함들이 정리됐다.
실무자가 점검할 것
이번 패치는 CVSS 10.0 결함 하나만으로도 지체 없는 업그레이드가 정당화되는 사례다. 특히 외부에 노출된 자체 관리형 GitLab을 운영 중이라면, 인증 없이 서버 장악이 가능하다는 특성상 공개 PoC가 등장하기 전에 적용 창을 확보하는 것이 관건이다. 다만 운영 관점에서 유의할 점은 이번 릴리스에 업그레이드 과정에 영향을 줄 수 있는 데이터베이스 마이그레이션이 포함돼 있다는 사실이다. 업그레이드 중 실행되는 일반 마이그레이션과 업그레이드 후 실행되는 포스트 디플로이 마이그레이션이 모두 존재하므로, 대규모 인스턴스에서는 적용 시간과 다운타임을 사전에 가늠해야 한다. 또한 GitLab은 보안 취약점의 상세 이슈를 패치 90일 뒤 공개 이슈 트래커에 게시하는 정책을 유지하므로, 아직 공개되지 않은 기술적 세부 정보에 의존하기보다는 제공된 위협 탐지 룰을 활용하고 로그에서 비정상적인 정규식 처리나 인증 연동 행위를 함께 모니터링하는 편이 현실적이다.