오늘 GitLab Community Edition(CE)과 Enterprise Edition(EE)에 대해 18.2.2, 18.1.4, 18.0.6 버전이 출시되었습니다. 이 버전들은 중요한 버그 및 보안 수정 사항을 포함하고 있으므로, 모든 셀프 관리형 GitLab 인스턴스는 즉시 이 중 하나의 버전으로 업그레이드하시길 강력히 권장합니다. GitLab.com은 이미 보안 패치가 적용된 버전을 사용 중이며, GitLab Dedicated 고객은 별도의 조치가 필요하지 않습니다. GitLab은 패치 릴리즈를 통해 취약점에 대한 수정사항을 제공합니다. 패치 릴리즈는 정기 릴리즈와 심각도가 높은 취약점에 대한 긴급 릴리즈, 이렇게 두 가지 유형이 있습니다. 정기 릴리즈는 매월 둘째, 넷째 수요일에 배포됩니다. 자세한 내용은 릴리즈 핸드북과 보안 FAQ에서 확인하실 수 있습니다. 모든 GitLab 릴리즈 블로그 게시글은 여기에서 볼 수 있습니다.
보안 수정 사항의 경우, 각 취약점에 대한 상세 이슈는 패치가 적용된 릴리즈 이후 30일이 지나면 이슈 트래커를 통해 공개됩니다. GitLab은 고객에게 노출되거나 고객 데이터를 저장하는 모든 측면이 최고 수준의 보안 기준을 충족하도록 최선을 다하고 있습니다. 보안 수준을 유지하기 위해, 모든 고객이 지원되는 최신 패치 릴리즈로 업그레이드하는 것을 강력히 권장합니다. GitLab 인스턴스 보안 모범 사례에 대해서는 저희 블로그의 관련 게시글을 참고해 주세요.
권장 조치
아래에 설명 된 이슈의 영향을 받는 버전을 사용 중인 모든 설치 환경은 가능한 한 빨리 최신 버전으로 업그레이드할 것을 강력히 권장합니다. 제품의 배포 유형(omnibus, 소스 코드, 헬름 차트 등)이 명시되지 않은 경우, 모든 유형이 영향을 받음을 의미합니다.
보안 조치 사항
이번 패치 릴리즈에서의 주요 보안 조치 사항은 다음과 같습니다.
| 제목 | 심각도 |
|---|---|
| blob 뷰어의 크로스 사이트 스크립팅 문제 | 높음 |
| 라벨의 크로스 사이트 스크립팅 문제 | 높음 |
| Workitem의 크로스 사이트 스크립팅 문제 | 높음 |
| 프로젝트 API의 부적절한 권한 처리 문제 | 높음 |
| 이슈 삭제 작업의 잘못된 권한 할당 문제 | 중간 |
| 릴리즈 이름 생성의 제한 없는 리소스 할당 문제 | 중간 |
| 작업 API의 잘못된 인증 문제 | 중간 |
| 머지 요청 승인 정책의 인증 문제 | 중간 |
| 위키의 비효율적인 정규식 복잡성 문제 | 중간 |
| Mattermost 통합의 제한 없는 리소스 할당 문제 | 중간 |
| ID 토큰의 잘못된 권한 할당 문제 | 중간 |
| IP 제한의 불충분한 접근 제어 문제 | 낮음 |
blob 뷰어의 크로스 사이트 스크립팅 문제
GitLab은 특정 조건에서 공격자가 악성 콘텐츠를 주입하여 사용자를 대신하여 작업을 실행할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 14.2부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 8.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N)
라벨의 크로스 사이트 스크립팅 문제
GitLab은 특정 조건에서 인증된 사용자가 범위가 지정된 라벨 설명에 악성 HTML 콘텐츠를 주입하여 저장된 크로스 사이트 스크립팅을 수행할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 18.2부터 18.2.2 이전의 모든 버전
CVSS: 8.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N)
Workitem 의 크로스 사이트 스크립팅 문제
GitLab은 인증된 사용자가 워크 아이템 이름에 악성 HTML을 주입하여 계정 탈취를 할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 8.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N)
프로젝트 API의 부적절한 권한 처리 문제
GitLab은 특정 조건에서 관리자 권한을 가진 인증된 사용자가 의도된 접근 수준을 넘어 공유 인프라 리소스를 조작하여 다른 사용자의 CI/CD 파이프라인에 서비스 거부를 일으킬 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 18.0.6 이전의 모든 18.0 버전, 18.1.4 이전의 모든 18.1 버전, 18.2.2 이전의 모든 18.2 버전
CVSS: 7.7 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:N/A:H)
이슈 삭제 작업의 잘못된 권한 할당 문제
GitLab은 특정 조건에서 특정 역할과 권한을 가진 인증된 사용자가 특정 역할을 가진 사용자를 초대함으로써 기밀 이슈를 포함한 이슈를 삭제할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 17.7부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 6.7 (CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L)
릴리즈 이름 생성의 제한 없는 리소스 할당 문제
GitLab은 인증된 사용자가 처리 시 과도한 서버 리소스를 소비하는 특수하게 제작된 콘텐츠를 생성하여 서비스 거부 상태를 유발할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 11.6부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
작업 API의 잘못된 인증 문제
GitLab은 특정 조건에서 인증된 사용자가 특정 API 엔드포인트에 접근하여 접근 제어를 우회하고 비공개 아티팩트를 다운로드할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 15.6부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N)
머지 요청 승인 정책의 인증 문제
GitLab은 특정 접근 권한을 가진 인증된 사용자가 승인 규칙 식별자를 조작하여 머지 요청 승인 정책을 우회할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab EE: 18.0부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N)
위키의 비효율적인 정규식 복잡성 문제
GitLab은 인증된 사용자가 위키 기능에 특수하게 제작된 마크다운 페이로드를 전송하여 서비스 거부 상태를 유발할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 13.2부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Mattermost 통합의 제한 없는 리소스 할당 문제
GitLab은 인증되지 않은 사용자가 특정 통합 API 엔드포인트에 특수하게 제작된 페이로드를 전송하여 서비스 거부 상태를 유발할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 8.14부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 6.5 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
ID 토큰의 잘못된 권한 할당 문제
GitLab은 특정 상황에서 개발자 접근 권한을 가진 인증된 사용자가 보호된 브랜치에 대한 ID 토큰을 획득할 수 있었던 문제를 해결했습니다.
영향 받는 버전: GitLab CE/EE: 15.7부터 17.11.6 이전, 18.0부터 18.0.4 이전, 18.1부터 18.1.2 이전의 모든 버전
CVSS: 5.0 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N)
IP 제한의 불충분한 접근 제어 문제
GitLab은 특정 조건에서 사용자가 IP 제한을 우회하여 제한된 그룹에서 할당된 이슈를 볼 수 있었던 문제를 해결했습니다.
영향 받 는 버전: GitLab EE: 12.0부터 18.0.6 이전, 18.1부터 18.1.4 이전, 18.2부터 18.2.2 이전의 모든 버전
CVSS: 3.1 (CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N)
버그수정 및 개선 사항
18.2.2
- [백포트] 버그: 이중 메시지 버그 수정
- 'omnibus 파이프라인에서 전체 인스턴스 테스트 스위트 실행 제거'의 백포트
- '백포트 MR 파이프라인에서 test-on-gdk를 test-on-cng로 대체' 백포트
- [18.2] 스펙에서 하드코딩된 GitLab 버전 수정
- 'QA 라이브 환경에서 릴리스 환경 제외'의 백포트
- [18.2 백포트] 불안정한 에픽 삭제 스펙 수정
- [백포트 18.2] Elastic 삭제 워커에 pause_control 추가
- SyncProjectPolicyWorker에 대한 Geo 보조 건너뛰기 백포트
- "SSRF 필터에 허용된 엔드포인트에 아웃바운드 허용 목록 추가"의 백포트
- "종속성 프록시에 대한 SSRF 보호를 위한 FF 제거" 리버트의 백포트
- '새 프로젝트가 부모의 duo_features_enabled 값을 상속'의 백포트
- '워커에 누락된 elasticsearch_indexing 검사 추가'의 백포트
- [18.2] 불안정한 작업 항목 스펙 수정
- 수정 백포트: PDF 워커 및 cMap 경로에 상대 URL 루트 포함
docs hugo_buildCI 작업이 docs-gitlab-com 안정 브랜치를 사용하도록 보장- '수정: 프로젝트 생성 시 Duo 설정에 대한 유효성 검사 오류'의 백포트
- 손상된 사용자 가입 상한 알림 테스트 격리 백포트
- Ruby 젬 캐싱 개선 백포트
- Sidekiq가 종료하는 데 너무 오래 걸리는 또 다른 경우 수정
- 'NULL 값 필터링'의 백포트
- 'node-modules 캐싱을 특정 브랜치에서 분리' 백포트
- 'db:check-schema CI 작업 단순화'의 백포트
- ci_job_artifact_states에 올바른 기본 키를 사용하도록 수정 백포트
- [백포트 18.2] 고급 검색 코드 범위에서 공유 그룹 액세스 수정
- 'Danger가 유지보수 유형 변경의 백포트를 허용하도록' 18-2에 백포트
- 백포트: Web IDE 로딩 경쟁 상태 수정
- 수정판 비교 드롭다운에서 숫자 패드 엔터가 작동하지 않는 문제 수정 백포트
- codeowners에서 대소문자 구분 수정 백포트
- [18.2] 불안정한 노트 범위 스펙 수정
- 556582-18-2로 업그레이드 후 서브경로에서 호스팅된 GitLab에서 프로젝트 링크가 작동하지 않는 문제 백포트
- 백포트 수정: Web IDE에서 CORS 문제 감지
- "QA 변경 사항만 있을 때 e2e:test-on-omnibus-ee 작업이 없어도 Danger가 오류를 표시하지 않도록" 18.2에 백포트
- "breadcrumb 링크 구성에 projectRootPath 사용" 백포트
- 'on_tag? 확인에 CI_COMMIT_TAG 사용'의 백포트
- nil 값에서 실패하는 감가상각 검사 수정
18.1.4
- '옴니버스 파이프라인에서 전체 인스턴스 테스트 스위트 실행 제거'의 백포트
- '백포트 MR 파이프라인에서 test-on-gdk를 test-on-cng로 대체' 백포트
- [18.1 백포트] 불안정한 에픽 삭제 스펙 수정
- 'QA 라이브 환경에서 릴리즈 환경 제외'의 백포트
- SyncProjectPolicyWorker에 대한 Geo 보조 건너뛰기 백포트
- [18.1 백포트] Elastic 삭제 워커에 pause_control 추가
- "종속성 프록시에 대한 SSRF 보호를 위한 FF 제거" 리버트의 백포트
- "18.1.3-internal0용 VERSION 파일 업데이트"의 백포트
- '워커에 누락된 elasticsearch_indexing 검사 추가'의 백포트
- [18.1] 불안정한 작업 항목 스펙 수정
- 수정 백포트: PDF 워커 및 cMap 경로에 상대 URL 루트 포함
- "수리 인덱스 도구 추가", "NULL 값 필터링", "IndexRepair 작업 문서화 추가"의 백포트
docs hugo_buildCI 작업이 docs-gitlab-com 안정 브랜치를 사용하도록 보장- Ruby 젬 캐싱 개선 백포트
- Sidekiq가 종료하는 데 너무 오래 걸리는 또 다른 경우 수정
- 'db:check-schema CI 작업 단순화'의 백포트
- 'node-modules 캐싱을 특정 브랜치에서 분리' 백포트
- ci_job_artifact_states에 올바른 기본 키를 사용하도록 수정 백포트
- 수정판 비교 드롭다운에서 숫자 패드 엔터가 작동하지 않는 문제 수정 백포트
- 'Danger가 유지보수 유형 변경의 백포트를 허용하도록' 18-1에 백포트
- "breadcrumb 링크 구성에 projectRootPath 사용" 백포트
- codeowners에서 대소문자 구분 수정 백포트
- 'on_tag? 확인에 CI_COMMIT_TAG 사용'의 백포트
18.0.6
- [18.0 백포트] 불안정한 에픽 삭제 스펙 수정
- 'QA 라이브 환경에서 릴리즈 환경 제외'의 백포트
- 'GET 릴리즈 환경에서 QA 실행'의 백포트
- [18.0 백포트] Elastic 삭제 워커에 pause_control 추가
- [18.0] 불안정한 작업 항목 스펙 수정
docs hugo_buildCI 작업이 docs-gitlab-com 안정 브랜치를 사용하도록 보장- Sidekiq가 종료하는 데 너무 오래 걸리는 또 다른 경우 수정
- "수리 인덱스 도구 추가", "NULL 값 필터링", "IndexRepair 작업 문서화 추가"의 백포트
- 'db:check-schema CI 작업 단순화'의 백포트
- [백포트] 'tbulva-zoekt-url-reset'을 18.0으로
- ci_job_artifact_states에 올바른 기본 키를 사용하도록 수정 백포트
- Ruby 젬 캐싱 개선 백포트
- 'Danger가 유지보수 유형 변경의 백포트를 허용하도록' 18-0에 백포트
- 백포트[18.0] 자체 관리 인스턴스에 대한 프로젝트 및 프레임워크 검사 제거
- 'node-modules 캐싱을 특정 브랜치에서 분리' 백포트
- codeowners에서 대소문자 구분 수정 백포트
- 'on_tag? 확인에 CI_COMMIT_TAG 사용'의 백포트
업그레이드에 관한 중요 참고사항
이 패치는 업그레이드 과정에 영향을 미칠 수 있는 데이터베이스 마이그레이션을 포함하고 있습니다.
설치에 미치는 영향:
- 단일 노드 인스턴스: 이 패치는 GitLab을 시작하기 전에 마이그레이션이 완료되어야 하므로 업그레이드 중 다운타임이 발생합니다.
- 다중 노드 인스턴스: 적절한 무중단 업그레이드 절차를 통해 이 패치는 다운타임 없이 적용될 수 있습니다.
마이그레이션 정보
GitLab 18.2.2, 18.1.4, 18.0.6 버전은 모두 업그레이드 과정 중에 실행되는 일반 마이그레이션과 업그레이드 후 실행되는 배포 후 마이그레이션을 포함하고 있습니다. 이 점을 고 려하여 업그레이드 계획을 세우시기 바랍니다.
설치에 대한 업그레이드의 영향에 대해 자세히 알아보려면 다음을 참조하세요:
업데이트
GitLab을 업데이트하려면 업데이트 페이지를 참조하세요. GitLab Runner를 업데이트하려면 Runner 업데이트 페이지를 참조하세요.
더 많은 GitLab에 대한 정보와 데모가 궁금하신가요? 혹은 GitLab 업그레이드가 필요하신가요? 그렇다면 인포그랩에 연락하세요! DevOps 전문가가 도와드립니다. 지금 문의하기