GitLab 커뮤니티 에디션(CE)과 엔터프라이즈 에디션(EE)의 GitLab 패치 릴리즈 17.7.1, 17.6.3, 17.5.5에 대해 자세히 알아보세요. 이번 버전들은 중요한 버그 및 보안 수정사항을 포함하고 있으며, 모든 자체 관리형 GitLab 설치 환경을 가능한 한 빨리 이러한 버전 중 하나로 업그레이드할 것을 강력히 권장합니다. GitLab.com은 이미 패치된 버전을 실행 중입니다. GitLab Dedicated 고객은 별도의 조치를 취할 필요가 없습니다.
이번 패치 릴리즈에서 주요 수정 사항은 다음과 같습니다.
- GitLab 로그에서 액세스 토큰 노출 가능성
- 에픽의 순환 참조로 인한 리소스 고갈
- 공개 프로젝트에서 권한이 없는 사용자의 이슈 상태 조작 가능
- 인스턴스 SAML이 external_provider 설정을 준수하지 않음
GitLab은 패치 릴리즈를 통해 취약점 수정사항을 배포합니다. 패치 릴리즈에는 두 가지 유형이 있습니다: 정기 릴리즈와 고위험 취약점에 대한 임시 중요 패치입니다. 정기 릴리즈는 매월 둘째 주와 넷째 주 수요일에 두 번 제공됩니다. 자세한 내용은 릴리즈 핸드북과 보안 FAQ를 참조하실 수 있습니다. GitLab의 모든 릴리즈 블로그 게시물은 여기에서 확인하실 수 있습니다.
보안 수정사항의 경우, 각 취약점에 대한 상세 이슈는 패치가 적용된 릴리즈 후 30일이 지나면 이슈 트래커에 공개됩니다.
GitLab은 고객에게 노출되거나 고객 데이터를 호스팅하는 모든 측면이 최고 수준의 보안 표준을 준수하도록 보장하기 위해 최선을 다하고 있습니다. 적절한 보안 위생 관리의 일환으로, 모든 고객이 지원되는 버전의 최신 패치 릴리즈로 업그레이드하는 것을 적극 권장합니다. GitLab 인스턴스 보안 강화를 위한 모범 사례에 대해 블로그 게시물에서 자세히 알아보실 수 있습니다.
Import 기능 변경사항
GitLab은 Direct Transfer, GitHub, Bitbucket Server, Gitea 가져오기를 포함한 GitLab Import 도구에 대한 새로운 사용자 기여도 및 멤버십 매핑 기능을 출시했습니다. 이 기능은 GitLab 17.7.1 버전부터 기본적으로 사용할 수 있습니다. 이 기능과 사용 가능 여부에 대한 자세한 내용은 블로그 게시물과 문서에서 확인하실 수 있습니다.
GitLab이 Import 기능을 변경한 이유
HackerOne 버그 바운티 프로그램을 통해 가져오기 기능에 영향을 미치는 취약점(CVE-2024-5655, CVE-2024-6385, CVE-2024-6678, CVE-2024-8970)이 발견되었습니다. 이러한 취약점을 해결하고 보안을 더욱 강화하기 위해 GitLab은 가져오기 도구의 사용자 기여도 매핑 기능을 재설계했습니다.
변경되는 사항
- 사후 Import 매핑: 이전에는 제공되지 않았던 이 기능을 통해 가져오기 완료 후 대상 인스턴스의 사용자에게 가져온 기여도와 멤버십을 할당할 수 있습니다. 가져온 멤버십과 기여도는 먼저 임시 사용자에게 매핑됩니다. 재할당될 때까지 기여도는 임시 사용자와 연결된 것으로 표시됩니다.
- 이메일 독립적 매핑: 새로운 프로세스는 이메일 주소에 의존하지 않으므로, 원본과 대상 인스턴스에서 서로 다른 이메일 주소를 가진 사용자의 기여도를 매핑할 수 있습니다.
- 사용자 제어: 대상 인스턴스에서 기여도 매핑이 할당된 각 사용자는 가져온 기여도가 자신에게 귀속되기 전에 할당을 수락해야 합니다. 또한 할당을 거부할 수도 있습니다.
개선된 사용자 기여도 및 멤버십 매핑 기능에 대한 자세한 내용은 GitLab 문서 여기에서 확인하실 수 있습니다.
GitLab Self-Managed 및 Dedicated 고객을 위한 지침
취약점 악용을 위해서는 공격자가 대상 GitLab 인스턴스에서 인증된 사용자 계정을 보유해야 합니다. 따라서 인터넷 공개 액세스와 공개 등록을 모두 허용하지 않는 한, 위험은 주로 내부 위협으로 제한됩니다.
GitLab은 GitLab 인스턴스를 버전 17.7.1 이상으로 업그레이드할 때까지 Import 도구를 비활성화할 것을 강력히 권장합니다. 다음과 같은 방법으로 가져오기 기능을 비활성화할 수 있습니다:
- GitLab 인스턴스 관리자 사용자로 로그인
- Admin > Settings > General > Import and Export settings로 이동
- 활성화된 각 가져오기 도구 옆의 체크박스 해제
- Save Changes 클릭
Import 도구를 반드시 활성화해야 하는 경우, GitLab은 Import 작업 중에만 일시적으로 활성화하고 Import가 완료된 후에는 해당 기능을 비활성화할 것을 권장합니다.
Direct Transfer(베타 기능) 또는 GitHub, Bitbucket Server, Gitea 가져오기 도구가 활성화된 GitLab Self-Managed 환경은 취약할 수 있으므로 즉시 업그레이드해야 합니다.
권장 조치
아래 설명된 문제의 영향을 받는 버전을 실행 중인 모든 설치 환경은 가능한 한 빨리 최신 버전으로 업그레이드할 것을 강력히 권장합니다.
제품의 특정 배포 유형(옴니버스, 소스 코드, 헬름 차트 등)이 언급되지 않은 경우, 이는 모든 유형이 영향을 받는다는 의미입니다.
보안 조치 사항
GitLab 로그에서 액세스 토큰 노출 가능성
GitLab CE/EE의 17.4부터 17.5.1 이전 버전, 17.6부터 17.6.1 이전 버전, 그리고 17.7부터 17.7.1 이전 버전에서 취약점이 발견되었습니다. 특정 조건에서 API 요청이 특정 방식으로 이루어질 때 액세스 토큰이 로그에 기록될 수 있었습니다. 이 는 중간 심각도 문제(CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
, 6.5)입니다. 최신 릴리즈에서 해결되었으며 CVE-2025-0194가 할당되었습니다.
에픽의 순환 참조로 인한 리소스 고갈
GitLab CE/EE의 15.7부터 17.5.5 이전 버전, 17.6부터 17.6.3 이전 버전, 그리고 17.7부터 17.7.1 이전 버전에 영향을 미치는 문제가 발견되었습니다. 에픽 간의 순환 참조를 생성하여 DoS를 유발할 수 있었습니다. 이는 중간 심각도 문제(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
, 4.3)입니다. 최신 릴리즈에서 해결되었으며 CVE-2024-6324가 할당되었습니다.
공개 프로젝트에서 권한이 없는 사용자의 이슈 상태 조작 가능
GitLab CE/EE의 15.5부터 17.5.5 이전 버전, 17.6부터 17.6.3 이전 버전, 그리고 17.7부터 17.7.1 이전 버전에서 권한이 없는 사용자가 공개 프로젝트의 이슈 상태를 조작할 수 있는 문제가 발견되었습니다. 이는 중간 심각도 문제(CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
, 4.3)입니다. 최신 릴리즈에서 해결되었으며 CVE-2024-12431이 할당되었습니다.
인스턴스 SAML이 external_provider
설정을 준수하지 않음
GitLab CE/EE의 11.0부터 17.5.1 이전 버전, 17.6부터 17.6.1 이전 버전, 그리고 17.7부터 17.7.1 이전 버전에서 문제가 발견되었습니다. SAML 제공자를 통해 사용자가 생성될 때 외부 그룹 설정이 외부 제공자 구성을 재정의합니다. 결과적으로 사용자가 외부 사용자로 표시되지 않아 내부 프로젝트나 그룹에 대한 접근 권한이 부여될 수 있습니다. 이는 중간 심각도 문제(CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
, 4.3)입니다. 최신 릴리즈에서 해결되었으며 CVE-2024-13041이 할당되었습니다.
추가 보완 및 버그/수정 기능
17.7.1
- '17-7-stable'에 gsutil 수정사항 체리픽
- 17.7.x 백포트: grpc-go를 v1.66.3으로 다운그레이드
- 백포트 되돌리기 "Merge branch 'improve_reference_rewriter_to_work_cross_groups' into 'master'"
- 17.7 백포트: 작업 항목의 노트 인덱싱 시 시스템 노트 거부
- 'andrey-fix-qa-spec' 브랜치를 17.7로 병합
- 'release-unique-users' 브랜치를 17.7로 병합
- CI 작업 토큰 서명 키가 항상 생성되지 않는 문제 수정
- acme-client를 v2.0.19로 업데이트
17.6.3
- '17-6-stable' 브랜치에 '2125-base-force-upgrade-ubi' 체리픽
- '17-6-stable' 브랜치에 gsutil 수정사항 체리픽
- 17.6.x 백포트: grpc-go를 v1.66.3으로 다운그레이드
- 고급 검색 백포트: OpenSearch 인덱스용 엔진 설정
- 17.6: 웹 비밀번호가 비활성화된 경우에도 Git 비밀번호 사용 가능하도록 수정
- 릴리스 환경 QA를 안정 브랜치에서 17.6으로 백포트
- 'fix-env-var-for-release-environments-qa'를 17.6으로 백포트
- 'dattang/fix-build-gdk-image-script'를 17.6으로 백포트
- diff_files 하이라이트 프리로드 수정사항을 17.6으로 백포트
- 반복 QA 스펙 격리
- 오래된 user_views_iteration_spec.rb 격리
- 17.6 날짜 관련 스펙 격리
17.5.5
- '17-5-stable' 브랜치에 '2125-base-force-upgrade-ubi' 체리픽
- '17-5-stable' 브랜치에 gsutil 수정사항 체리픽
- 17.5.x 백포트: 17.5.0 변경 로그 업데이트
- 안정 브랜치에서 릴리스 환경 QA를 17.5로 백포트
- 'dattang/allow-release-environments-to-fail'을 17.5로 백포트
- diff_files 하이라이트 프리로드 수정사항을 17.5로 백포트
- 'dattang/fix-build-gdk-image-script'를 17.5로 백포트
- 반복 QA 스펙 격리
- 오래된 user_views_iteration_spec.rb 격리
- 17.5 날짜 관련 스펙 격리
- devfile gem을 0.0.28 패치로 업그레이드
- 17.5: 웹 비밀번호가 비활성화된 경우에도 Git 비밀번호 사용 가능하도록 수정
업데이트
GitLab을 업데이트하려면 업데이트 페이지를 참조하세요. GitLab Runner를 업데이트하려면 Runner 업데이트 페이 지를 참조하세요.
더 많은 GitLab에 대한 정보와 데모가 궁금하신가요? 혹은 GitLab 업그레이드가 필요하신가요? 그렇다면 인포그랩에 연락하세요! DevOps 전문가가 도와드립니다. 지금 문의하기