[CVE-2018-19571] GitLab url_blocker SSRF 침해사고분석팀 2020.12.24 |
|
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
공격 분석 및 테스트
CVE-2018-19571의 공격 패킷은 다음과 같습니다.
[그림2. URL 웹 훅 및 임의의 코드를 실행하는 패킷]
취약점 대응 방안
1. 최신 버전 사용
해당 벤더사에서 발표한 최신의 버전으로 업데이트한다. https://about.gitlab.com/install/
2. WINS Sniper 제품군 대응 방안
[5309] GitLab url_blocker SSRF
|