English Advisory →
CVE-2025-483848.0/HIGHCISA KEV 등재CWE-59CWE-436

Git 서브모듈 경로 CRLF 파싱 오류 및 심볼릭 링크를 통한 원격 코드 실행 취약점 (CVE-2025-48384)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
git
대상 컴포넌트 / 패키지
git
권고문 발행일
2025-07-08
CVSS v3.1
8.0
HIGH
30일 악용확률
4.4%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Git v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, v2.50.1 미만의 모든 버전

파급 효과

공격자가 악의적으로 조작한 서브모듈 경로와 심볼릭 링크가 포함된 저장소를 사용자가 클론하거나 체크아웃할 경우, 임의의 post-checkout 훅 스크립트가 실행되어 대상 시스템이 완전히 장악될 수 있습니다

권장 조치

사용 중인 Git 클라이언트를 최신 패치 버전(v2.50.1 등)으로 즉시 업데이트하고, 신뢰할 수 없는 원격 저장소의 재귀적 클론(--recurse-submodules)을 금지하십시오

영향받는 제품 및 버전 범위

Git v2.43.0 ~ v2.43.6, v2.44.0 ~ v2.44.3, v2.45.0 ~ v2.45.3, v2.46.0 ~ v2.46.3, v2.47.0 ~ v2.47.2, v2.48.0 ~ v2.48.1, v2.49.0, v2.50.0 버전

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

패치 및 우회 명령어

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

운영체제별 패키지 관리자를 사용하거나 소스코드를 통해 Git을 최신 보안 패치 버전으로 업그레이드하십시오.

bash
# Ubuntu/Debian 계열 시스템 업데이트
sudo apt-get update && sudo apt-get install --only-upgrade git -y

# RedHat/CentOS/Fedora 계열 시스템 업데이트
sudo dnf upgrade git -y

# macOS (Homebrew 사용 시)
brew update && brew upgrade git

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

즉각적인 패치가 어려운 경우, 신뢰할 수 없는 외부 저장소를 클론할 때 서브모듈을 자동으로 활성화하거나 재귀적으로 가져오지 않도록 설정해야 합니다.

bash
# 전역 설정에서 서브모듈 자동 재귀 프로세스 비활성화
git config --global submodule.recurse false

# 신뢰할 수 없는 저장소 클론 시 서브모듈 옵션 제외 강제
# 예: git clone --no-recurse-submodules <repository_url>

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

현재 시스템에 설치된 Git 버전을 확인하고, 저장소 내에 비정상적인 CR 문자가 포함된 .gitmodules 설정이나 심볼릭 링크가 존재하는지 검사합니다.

bash
# 1. 현재 시스템의 Git 버전 확인
git --version

# 2. 로컬 저장소 내 .gitmodules 파일에 캐리지 리턴(\r)이 포함되어 있는지 검사
find . -name '.gitmodules' -exec file {} \; | grep 'CRLF'

# 3. 저장소 내 심볼릭 링크가 서브모듈이나 .git 디렉터리를 가리키는지 검사
find . -type l -ls
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
공급망 보안 및 개발 환경 보호를 위해 사용 중인 Git 클라이언트를 즉시 v2.50.1 이상의 최신 패치 버전으로 업데이트하십시오.

내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요

간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.

무료 플랜 지원 · GitHub/GitLab 1클릭 연동
CI/CD 파이프라인에 자동 보안 스캐닝(SAST/SCA) 구축하는 실전 강의
커리큘럼 확인하기

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

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

본 취약점은 Git이 설정 파일(.gitmodules 등)을 읽고 쓸 때 캐리지 리턴(CR, \r) 문자를 처리하는 방식의 결함(CWE-436)에서 비롯됩니다. Git은 설정 값을 읽을 때 줄 끝의 CRLF(\r\ )를 제거하지만, 설정 항목을 기록할 때는 후행 CR 문자가 포함된 값을 적절히 이스케이프(Quoting) 처리하지 않고 그대로 저장합니다. 이로 인해 이후 해당 설정을 다시 읽어 들일 때 후행 CR 문자가 유실되거나 경로가 왜곡되는 현상이 발생합니다.

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

공격자는 서브모듈 경로 끝에 CR(\r) 문자가 포함된 악의적인 .gitmodules 파일을 구성합니다.

  • 사용자가 해당 저장소를 클론하고 서브모듈을 초기화할 때, Git은 왜곡된 경로를 읽어 들여 서브모듈을 의도하지 않은 잘못된 디렉터리에 체크아웃합니다.
  • 공격자는 왜곡된 경로가 서브모듈의 훅(Hooks) 디렉터리(.git/modules/.../hooks)를 가리키도록 하는 심볼릭 링크(CWE-59)를 미리 저장소에 포함시켜 둡니다.
  • 서브모듈 체크아웃이 완료되는 순간, Git은 해당 경로 내에 존재하는 실행 가능한 post-checkout 훅 스크립트를 자동으로 실행하게 되어 사용자의 시스템에서 원격 코드 실행(RCE)이 수행됩니다.

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

이 취약점은 CISA KEV(악용된 취약점 카탈로그)에 등재될 만큼 실질적인 위협이 입증되었습니다. 개발자 PC, CI/CD 빌드 파이프라인 서버, 자동화된 소스코드 분석 환경 등 Git 클라이언트를 사용하는 모든 인프라가 공격 대상이 될 수 있습니다. 공격자가 빌드 서버의 제어권을 획득할 경우 소스코드 탈취, 공급망 공격(Supply Chain Attack)으로 이어지는 치명적인 비즈니스 중단 사태를 초래할 수 있습니다.

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

NIST NVD 공식 영문 원문 (Original Record)

Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. When reading a config value, Git strips any trailing carriage return and line feed (CRLF). When writing a config entry, values with a trailing CR are not quoted, causing the CR to be lost when the config is later read. When initializing a submodule, if the submodule path contains a trailing CR, the altered path is read resulting in the submodule being checked out to an incorrect location. If a symlink exists that points the altered path to the submodule hooks directory, and the submodule contains an executable post-checkout hook, the script may be unintentionally executed after checkout. This vulnerability is fixed in v2.43.7, v2.44.4, v2.45.4, v2.46.4, v2.47.3, v2.48.2, v2.49.1, and v2.50.1.

자주 묻는 실무 질문 (FAQ — CVE-2025-48384)

FAQ

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

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

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

주요 영향 벤더는 git이며, 대상 컴포넌트는 git입니다. 상세 영향 범위: Git v2.43.0 ~ v2.43.6, v2.44.0 ~ v2.44.3, v2.45.0 ~ v2.45.3, v2.46.0 ~ v2.46.3, v2.47.0 ~ v2.47.2, v2.48.0 ~ v2.48.1, v2.49.0, v2.50.0 버전

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

[권장 조치] 사용 중인 Git 클라이언트를 최신 패치 버전(v2.50.1 등)으로 즉시 업데이트하고, 신뢰할 수 없는 원격 저장소의 재귀적 클론(--recurse-submodules)을 금지하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2025-48384 Git 서브모듈 경로 CRLF 파싱 오류 및 심볼릭 링크를 통한 원격 코드 실행 취약점 (CVE-2025-48384) (CVSS 8.0) - 패치 및 보안 권고 | CVE Pulse