🇰🇷 한글 설명
Git 1.9.3 이전 버전의 git-prompt.sh가 PS1 변수에 사용되는 브랜치 이름을 검증하지 않아, 특수 문자가 포함된 악의적인 브랜치명으로 명령어 주입이 가능합니다. 저장소를 clone하거나 checkout할 때 자동으로 임의 코드가 실행될 수 있습니다.
💡 쉬운 설명
Git 설정에서 위험한 브랜치 이름이 그대로 실행되는 보안 결함입니다. 해커가 특수 문자를 포함한 이름의 브랜치를 만들면 당신 컴퓨터에서 자동으로 명령어가 실행됩니다.
🇺🇸 원문 (English)
contrib/completion/git-prompt.sh in Git before 1.9.3 does not sanitize branch names in the PS1 variable, allowing a malicious repository to cause code execution.
📍 영향받는 시스템
Git < 1.9.3 (bash 프롬프트 완성 활성화 시)
⚔️ 공격 벡터
악의적인 브랜치 이름($(악성명령어))이 포함된 저장소를 clone 또는 checkout할 때 자동 실행
🛡️ 대응 방법
Git을 1.9.3 이상으로 업그레이드 (apt-get upgrade git 또는 brew upgrade git)
🔧 검증 코드
버전이 출력되면 취약 상태, 출력 없으면 1.9.3 이상으로 패칭됨
git --version | grep -E 'version (0\.|1\.[0-8]|1\.9\.[0-2])'