English Advisory →
CVE-2021-399356.8/MEDIUMCISA KEV 등재CWE-918

GitLab CE/EE CI Lint API 서버 측 요청 위조(SSRF) 취약점 (CVE-2021-39935) 보안 권고

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
gitlab
대상 컴포넌트 / 패키지
gitlab_ce, gitlab_ee
권고문 발행일
2021-12-13
CVSS v3.1
6.8
MEDIUM
30일 악용확률
36.1%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

GitLab CE/EE 10.5 이상 14.3.6 미만, 14.4 이상 14.4.4 미만, 14.5 이상 14.5.2 미만 버전

파급 효과

인증되지 않은 외부 공격자가 CI Lint API를 악용하여 내부 네트워크 자원에 접근하고 민감한 데이터를 탈취할 수 있는 SSRF 공격 수행 가능

권장 조치

사용 중인 GitLab 인스턴스를 최신 패치 버전(14.3.6, 14.4.4, 14.5.2 이상)으로 즉시 업그레이드하고 API 접근 제어를 강화하십시오

영향받는 제품 및 버전 범위

GitLab CE/EE 10.5 이상 14.3.6 미만, 14.4 이상 14.4.4 미만, 14.5 이상 14.5.2 미만 버전

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

GitLab 공식 패치가 적용된 버전으로 업그레이드를 수행하십시오. 아래 명령어를 통해 현재 버전을 확인하고 최신 안정 버전으로 업데이트할 수 있습니다.

bash
# GitLab 현재 설치 버전 확인
gitlab-rake gitlab:env:info

# Ubuntu/Debian 계열 패키지 업데이트 및 업그레이드
sudo apt-get update
sudo apt-get install --only-upgrade gitlab-ce=14.5.2-ce.0
# 또는 EE 버전의 경우
sudo apt-get install --only-upgrade gitlab-ee=14.5.2-ee.0

# GitLab 서비스 재시작 및 상태 확인
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

즉각적인 업그레이드가 어려운 경우, 리버스 프록시(Nginx 등) 또는 웹 애플리케이션 방화벽(WAF)을 사용하여 외부로부터의 CI Lint API 엔드포인트 접근을 차단하거나 신뢰할 수 있는 IP 대역으로 제한하십시오.

nginx
# Nginx 설정 파일 (/etc/gitlab/nginx.conf 또는 리버스 프록시 설정)
# 외부로부터의 CI Lint API 접근 차단 설정 예시
location ~* ^/api/v4/ci/lint {
    allow 192.168.1.0/24; # 신뢰할 수 있는 내부 사무실 IP 대역
    deny all;             # 그 외 모든 외부 접근 차단
    proxy_pass http://gitlab-workhorse;
}

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

GitLab API 로그에서 CI Lint API 엔드포인트(/api/v4/ci/lint)로 인가되지 않은 외부 IP가 비정상적인 요청을 보낸 이력이 있는지 점검하십시오.

bash
# GitLab API 액세스 로그에서 CI Lint 관련 요청 및 응답 코드 분석
# 특히 외부 IP에서 호출된 내역이나 500/200 응답을 필터링합니다.
grep -E '/api/v[0-9]+/ci/lint' /var/log/gitlab/gitlab-rails/api_json.log | jq 'select(.status == 200) | {time, remote_ip, params}'
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
실제 공격에 악용된 이력이 있는 고위험 취약점이므로, 운영 중인 GitLab 인스턴스를 즉시 최신 보안 패치 버전으로 업그레이드하십시오.

코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요

서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.

평균 설정 시간 3분 · Zero-Day 자동 룰 업데이트
이 웹 취약점(WAF 우회 & RCE)을 안전한 실습 랩에서 직접 재현해 보세요
실습 랩 & 보안 강의 보러가기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점(CVE-2021-39935)은 GitLab Community Edition(CE) 및 Enterprise Edition(EE)의 CI Lint API 구성 요소에서 발생하는 서버 측 요청 위조(SSRF, CWE-918) 취약점입니다. GitLab의 CI Lint API는 사용자가 작성한 .gitlab-ci.yml 파일의 구문을 검증하는 기능을 제공합니다. 이 과정에서 외부 리소스를 참조하거나 검증하는 로직이 내부 네트워크 및 루프백 주소(localhost)에 대한 요청을 적절히 제한하지 못하여 발생합니다.

2. 공격 메커니즘 및 익스플로잇 시나리오

인증되지 않은 외부 공격자는 CI Lint API 엔드포인트에 조작된 페이로드를 전송할 수 있습니다. 공격자는 검증 대상 파일 내에 내부 인프라의 메타데이터 서비스(예: AWS IMDS http://169.254.169.254/), 내부 데이터베이스, 또는 사설 네트워크 대역의 IP 주소를 가리키는 URL을 삽입합니다. GitLab 서버는 이 요청을 수신한 후 내부망에서 해당 URL로 HTTP 요청을 대신 수행하고 그 결과를 반환하거나 처리함으로써, 공격자가 방화벽 뒤에 숨겨진 내부 자원에 접근할 수 있도록 허용합니다.

3. 비즈니스 및 인프라 파급 영향

이 취약점은 CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 공격에 악용된 사례가 확인되었습니다. 공격자가 이 취약점을 성공적으로 악용할 경우, 클라우드 환경의 자격 증명(IAM Role 토큰) 탈취, 내부 API 서비스 무단 호출, 사설 네트워크 스캔 및 추가적인 원격 코드 실행(RCE)으로 이어질 수 있는 심각한 비즈니스 중단 및 데이터 유출 위험을 초래합니다.

공식 보안 권고문 및 참조 링크

자주 묻는 실무 질문 (FAQ — CVE-2021-39935)

FAQ

Q1. CVE-2021-39935 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2021-39935의 기본 점수는 CVSS 6.8 (MEDIUM)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 36.1%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.

Q2. CVE-2021-39935에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 gitlab이며, 대상 컴포넌트는 gitlab_ce, gitlab_ee입니다. 상세 영향 범위: GitLab CE/EE 10.5 이상 14.3.6 미만, 14.4 이상 14.4.4 미만, 14.5 이상 14.5.2 미만 버전

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] 사용 중인 GitLab 인스턴스를 최신 패치 버전(14.3.6, 14.4.4, 14.5.2 이상)으로 즉시 업그레이드하고 API 접근 제어를 강화하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2021-39935 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (gitlab)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2021-39935 GitLab CE/EE CI Lint API 서버 측 요청 위조(SSRF) 취약점 (CVE-2021-39935) 보안 권고 (CVSS 6.8) - 패치 및 보안 권고 | CVE Pulse