본문 바로가기
버전관리/GitLab

[GitLab] 보안 업데이트 Remote Command Execution via Github import 등 14개

by 주리니e 2022. 9. 13.
728x90

[GitLab] 보안 업데이트
Remote Command Execution via Github import 

 

 

https://about.gitlab.com/releases/2022/08/30/critical-security-release-gitlab-15-3-2-released/

 

GitLab Critical Security Release: 15.3.2, 15.2.4 and 15.1.6

Learn more about GitLab Critical Security Release: 15.3.2, 15.2.4 and 15.1.6 for GitLab Community Edition (CE) and Enterprise Edition (EE).

about.gitlab.com

Gitlab 보안 업그레이드 권고안을 확인하였다. 지난시간에 GitLab의 GitHub API 엔드포인트에서 가져오기 기능을 이용해 발생하는 원격 코드 실행 취약점이 발견되어서 업데이트를 진행하였지만 이번에는 이 외 13개 항목이 추가되었다. 그래서 GitHub API 가져오기 기능을 비활성화 하는 것보다는 보안 업데이트를 하는 것을 권장한다.

Title Severity
Remote Command Execution via GitHub import critical
Stored XSS via labels color high
Content injection via Incidents Timeline description high
Denial of Service via Issue preview high
Lack of length validation in Snippets leads to Denial of Service medium
Group IP allow-list not fully respected by the Package Registry medium
Abusing Gitaly.GetTreeEntries calls leads to denial of service medium
Arbitrary HTTP Requests Possible in .ipynb Notebook with Malicious Form Tags medium
Read repository content via LivePreview feature medium
Regular Expression Denial of Service via special crafted input medium
Information Disclosure via Arbitrary GFM references rendered in Incident Timeline Events medium
Denial of Service via the Create branch API medium
Brute force attack may guess a password even when 2FA is enabled low
IDOR in Zentao integration leaked issue details low low

 

업데이트에 앞서 우선 GitLab 백업이 필요하다. 백업은 전에 포스팅하였던 아래 링크를 확인하자.

 

GitLab 버전 업데이트(2) - 백업

GitLab 버전 업데이트(2) - 백업 우선 현재 GitLab을 백업하자. 나는 gitlab containner 생성 시 docker-compose.yml 설정파일에 다음과 같이 백업 설정을 하였다. version: '3' services: gitlab: image: 'g..

jiurinie.tistory.com

 

지난 시간에 보안 업데이트를 해두어서 현재 버전은 15.1.5이다. 15.1.6으로 업데이트 하거나 최신 버전인 15.3.2으로 업데이트 하여야 한다. 

  취약 버전 권고 버전
GitLab CE/EE 15.1.6 이하 모든 버전 15.1.6
15.2.x 15.2.4
15.3.x 15.3.2

 

아래 페이지에서는 GitLab 업데이트에 대한 자세한 설명이 있다. 설치한 방법에 따라 업데이트 방법이 자세하게 설명되어 있으니 참고하도록 하자.

 

Upgrading GitLab | GitLab

Documentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.

docs.gitlab.com

 

위 링크 페이지에서는 Upgrade paths가 있는데 이대로 하기를 권장하고 있다. 이대로 하지 않으면 오류가 발생할 수 있으니 꼭 참고하도록 하자. 근데 15.0.Z ->15.4.0 -> latest 15.Y.Z 으로 알려주는데 22년 9월 13일 작성일 기준으로 latest 버전은 15.3으로 되어 있다. 15.4 에서 15.3이라니 맞는 것인가..? 고민 끝에.. 무리하게 최신버전으로 올리기보다는 15.1.6 버전으로 업데이트 하기로 결정하였다.

 

  • Docker gitlab 컨테이너 stop
$ docker-compose stop gitlab

 

  • docker-compose.yml 파일 열기
$ vi docker-compose.yml

 

  • gitlab image 15.1.6 버전 수정 및 저장
  ...
  
  gitlab:
    image: 'gitlab/gitlab-ce:15.1.6-ce.0'
    
  ...

 

  • docker-compose up -d
$ docker-compose up -d
Pulling gitlab (gitlab/gitlab-ce:15.1.6-ce.0)...
15.1.6-ce.0: Pulling from gitlab/gitlab-ce
3b65ec22a9e9: Pull complete
588523589658: Pull complete
e43a47a50145: Pull complete
51d2e4a66518: Pull complete
9cdbbe8be800: Pull complete
e0ecce8086a0: Pull complete
4b8c013eb6aa: Pull complete
170f9f0ea5ca: Pull complete
Digest: sha256:d8c53901538aa031766c18f7f0410e191e9934024e016b4995da246736150ef5
Status: Downloaded newer image for gitlab/gitlab-ce:15.1.6-ce.0
Recreating gitlab ... done

 

  • 도커 프로세스 확인
$ docker-compose ps
 Name                Command                       State                                      Ports                            
-------------------------------------------------------------------------------------------------------------------------------
gitlab    /assets/wrapper                  Up (health: starting)   0.0.0.0:22->22/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp

 

  • GitLab 정상 실행 및 버전 확인

 

참고 : Docker Hub  - 다운로드 이미지 확인 
https://hub.docker.com/r/gitlab/gitlab-ce/tags

 

Docker Hub

 

hub.docker.com

이로써 성공적으로 GitLab의 Remote Command Execution via Github import 취약점 및 14개 항목에 대한 대응 보안 업데이트를 완료하였다.

728x90

댓글