🇰🇷 한글 설명
GitPython 3.1.48 이전 버전에서 참조 경로(reference path) 검증 부족으로 인해 공격자가 악의적으로 조작된 참조 경로를 통해 .git 디렉토리 외부의 파일을 쓰기, 덮어쓰기, 이동, 삭제할 수 있습니다. 참조 생성, 이름 변경, 삭제 작업 시 입력값이 충분히 검증되지 않아 저장소 외부 시스템 파일까지 조작 가능합니다.
💡 쉬운 설명
GitPython 라이브러리가 Git 저장소의 경로를 제대로 검증하지 않아 공격자가 저장소 외부의 파일을 손상시키거나 삭제할 수 있습니다. 악의적인 Git 저장소를 다운로드하거나 조작된 참조 경로를 제공받을 때 위험합니다.
🇺🇸 원문 (English)
GitPython is a python library used to interact with Git repositories. Prior to version 3.1.48, a vulnerability in GitPython allows attackers who can supply a crafted reference path to an application using GitPython to write, overwrite, move, or delete files outside the repository’s .git directory via insufficient validation of reference paths in reference creation, rename, and delete operations. This issue has been patched in version 3.1.48.
📍 영향받는 시스템
GitPython 버전 3.1.47 이하의 모든 버전
⚔️ 공격 벡터
악의적으로 조작된 참조 경로를 포함한 Git 저장소를 제공하여 GitPython이 디렉토리 외부의 파일을 조작하도록 유도
🛡️ 대응 방법
GitPython을 즉시 3.1.48 이상으로 업그레이드 (pip install --upgrade GitPython)
🔧 검증 코드
설치된 GitPython 버전이 표시되며, 3.1.48 이상이면 안전하고 그 이하면 취약한 상태입니다.
pip show GitPython 2>/dev/null | grep Version | awk '{print $2}'