보안정보

글로벌 정보보안 리더 윈스

[CVE-2018-19571] GitLab url_blocker SSRF

침해사고분석팀 2020.12.24

950ed22.png (622×682) | Logos, Logo google, Tech company logos

 

 

GitLab에 SSRF(Server-Side Request Forgery) 취약점이 존재합니다.

 

GitLab은 GitLab Inc.가 개발한 위키와 이슈 추적 기능을 갖춘 웹 기반의 Git 저장소 관리자로, 오픈 소스 라이선스 및 사유 소프트웨어 라이선스를 사용합니다.

 

해당 취약점은 lib/gitlab/url_blocker.rb에서 IPv6에 매핑되는 IPv4 URL에 대한 부적절한 유효성 검사로 인해 발생합니다. 원격의 공격자는 IPv6 URL인 웹 훅을 제작하여 공격할 수 있습니다.

 

공격 성공 시, 임의의 코드가 실행될 수 있습니다.

 

 

 

취약점 설명

 

NVD - CVE-2018-19574

CVSS v2.0 Severity and Metrics:

Base Score: 4.0 MEDIUM

 

 

[그림1. NVD 내역]

 

 

 

취약점 분석

 

해당 취약점은 잘못된 ip 버전 매핑 문제로 개인 ip주소를 포함한 모든 ip주소에 액세스 할 수 있습니다.

 

다음과 같은 URL을 사용하여 웹 훅을 생성할 수 있습니다.

 

http://[0:0:0:0:0:ffff:127.0.0.1]:6379  (포트 번호 가변값)

 

취약한 버전 및 패치된 버전은 아래와 같습니다.

 

- Gitlab Gitlab community/enterprise 8.18.0 - 11.3.10    ->    Gitlab Gitlab community/enterprise 11.3.11
- Gitlab Gitlab community/enterprise 11.4.0 - 11.4.7      ->    Gitlab Gitlab community/enterprise 11.4.8
- Gitlab Gitlab community/enterprise 11.5.0                ->    Gitlab Gitlab community/enterprise 11.5.1

 

 

 

공격 분석 및 테스트

 

CVE-2018-19571의 공격 패킷은 다음과 같습니다.

 

 

[그림2. URL 웹 훅 및 임의의 코드를 실행하는 패킷]

 

 

 

취약점 대응 방안

 

1. 최신 버전 사용

 

해당 벤더사에서 발표한 최신의 버전으로 업데이트한다.

https://about.gitlab.com/install/

 

 

2. WINS Sniper 제품군 대응 방안

 

[5309] GitLab url_blocker SSRF