🇰🇷 한글 설명
GitPython 3.1.62 이전 버전의 Submodule.move() 함수에서 심볼릭 링크를 추적하는 결함이 발견되었습니다. 중간 경로에 포함된 심볼릭 링크를 검사하지 않아, 신뢰할 수 없는 저장소의 심볼릭 링크를 통해 체크아웃 위치를 외부로 이동시키고 인덱스 및 .gitmodules를 손상시킬 수 있습니다.
💡 쉬운 설명
Git 도구를 사용할 때 악의적으로 만들어진 가짜 경로(심볼릭 링크)를 통해 파일이 엉뚱한 곳으로 옮겨질 수 있는 문제입니다. 이로 인해 프로젝트 설정 파일이 망가지거나 데이터가 손상될 위험이 있습니다.
🇺🇸 원문 (English)
GitPython from 3.1.62 before 3.2.0 contains a symlink-following flaw in Submodule.move(), which checks the destination only lexically and does not reject symbolic links in intermediate path components. An untrusted repository can commit a symlink such as vendor pointing outside the worktree, so an application moving an initialized submodule beneath it relocates the checkout externally and corrupts the index and .gitmodules.
📍 영향받는 시스템
GitPython 3.2.0 미만 버전
⚔️ 공격 벡터
신뢰할 수 없는 저장소에 심볼릭 링크가 포함된 서브모듈을 포함시켜 배포한 후, 사용자가 이를 이동시키는 동작을 유도함
🛡️ 대응 방법
GitPython 버전을 3.2.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 Version 값이 3.2.0 미만이면 취약한 상태입니다.
pip show gitpython | grep Version