English Advisory →
CVE-2021-2220510.0/CRITICALCISA KEV 등재CWE-94CWE-94

GitLab CE/EE 미인증 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2021-22205)

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

GitLab Community Edition(CE) 및 Enterprise Edition(EE) 11.9 이상 버전 전체

파급 효과

인증되지 않은 외부 공격자가 특수하게 조작된 이미지 파일을 업로드하여 대상 서버에서 시스템 권한으로 임의의 명령을 실행할 수 있습니다

권장 조치

사용 중인 GitLab 인스턴스를 즉시 최신 보안 패치 버전(13.10.3, 13.9.6, 13.8.8 이상)으로 업그레이드하십시오

영향받는 제품 및 버전 범위

GitLab CE/EE 11.9 버전부터 패치 이전 버전(13.8.8, 13.9.6, 13.10.3 미만)까지의 모든 버전

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

패치 및 우회 명령어

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

GitLab 공식 보안 패치가 적용된 버전으로 즉시 업그레이드를 수행하십시오. 아래는 Ubuntu/Debian 환경에서 GitLab 패키지를 업데이트하는 명령어입니다.

bash
# 패키지 리스트 업데이트 및 최신 보안 패치 적용
sudo apt-get update
sudo apt-get install --only-upgrade gitlab-ce -y

# 업그레이드 완료 후 서비스 상태 및 버전 확인
sudo gitlab-ctl status
sudo gitlab-rake gitlab:env:info

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

즉각적인 패치가 어려운 경우, 리버스 프록시(Nginx 등)를 사용하여 취약한 파일 업로드 엔드포인트에 대한 외부 접근을 차단하십시오.

nginx
# Nginx 설정 파일에 미인증 업로드 경로 차단 규칙 추가
server {
    listen 80;
    server_name gitlab.example.com;

    location ~* ^/uploads/user { 
        deny all;
        return 403;
    }

    location ~* ^/api/v4/projects/[0-9]+/uploads { 
        deny all;
        return 403;
    }
}

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

GitLab 웹 애플리케이션 로그에서 인증되지 않은 사용자의 비정상적인 업로드 요청 및 ExifTool 관련 실행 흔적을 점검하십시오.

bash
# GitLab production.log에서 미인증 업로드 시도 및 이상 징후 검색
sudo grep -E 'POST .*/uploads' /var/log/gitlab/gitlab-rails/production.log | grep -v '200 OK'

# 시스템 프로세스 중 의심스러운 하위 프로세스(perl, sh, curl 등) 실행 여부 확인
ps auxf | grep -A 3 'git'
실무자 패치 대응 자가 점검 체크리스트
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)

본 취약점은 GitLab CE/EE가 업로드된 이미지 파일의 메타데이터를 처리하는 과정에서 발생합니다. GitLab은 이미지 파일 분석을 위해 내부적으로 ExifTool 라이브러리를 사용합니다. ExifTool이 DjVu 파일 포맷의 메타데이터를 파싱할 때, 입력값에 대한 적절한 검증 및 이스케이프 처리를 수행하지 않아 공격자가 주입한 임의의 Perl 코드가 시스템 명령어로 실행되는 코드 인젝션(CWE-94) 취약점이 발생합니다.

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

공격자는 ExifTool의 취약한 파서가 DjVu 메타데이터 내의 특정 주석 필드를 처리하도록 유도하기 위해, 유효한 JPEG 또는 PNG 파일 내부에 DjVu 형식의 페이로드를 은닉하여 전송합니다. GitLab의 파일 업로드 엔드포인트(예: '/uploads/user')는 인증되지 않은 사용자도 접근할 수 있도록 허용되어 있어, 공격자는 유효한 세션 토큰이나 계정 권한 없이도 원격에서 악성 이미지를 업로드하여 즉각적인 원격 코드 실행(RCE)을 유도할 수 있습니다.

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

본 취약점은 CVSS 10.0의 치명적인(Critical) 등급으로 평가되었으며, 실제 공격에 적극적으로 악용되는 CISA KEV 등재 취약점입니다. 공격자가 이 취약점을 악용할 경우 GitLab 서버의 'git' 사용자 권한을 완전히 획득하게 되며, 이는 내부 소스 코드 저장소 탈취, CI/CD 파이프라인 장악을 통한 공급망 공격(Supply Chain Attack), 내부 네트워크 침투 및 랜섬웨어 유포로 이어질 수 있는 심각한 비즈니스 중단 위험을 초래합니다.

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

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

FAQ

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

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

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

주요 영향 벤더는 gitlab이며, 대상 컴포넌트는 gitlab_ce, gitlab_ee입니다. 상세 영향 범위: GitLab CE/EE 11.9 버전부터 패치 이전 버전(13.8.8, 13.9.6, 13.10.3 미만)까지의 모든 버전

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

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

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2021-22205 GitLab CE/EE 미인증 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2021-22205) (CVSS 10.0) - 패치 및 보안 권고 | CVE Pulse