🇰🇷 한글 설명
GitPython 3.1.51 미만 버전은 git의 긴 옵션 약어 기능을 고려하지 않은 불완전한 명령 주입 차단 목록을 포함하고 있습니다. 공격자는 upload_pack 대신 upload_p와 같이 약어화된 옵션 이름을 사용하여 안전 옵션 검사를 우회하고 임의의 명령을 실행할 수 있습니다.
💡 쉬운 설명
Git 명령어를 실행할 때 위험한 단어를 막아두었지만, 단어를 짧게 줄여서 쓰면 필터링을 피해 공격할 수 있는 취약점입니다. 이를 통해 해커가 사용자의 컴퓨터에서 원치 않는 명령을 몰래 실행할 수 있습니다.
🇺🇸 원문 (English)
GitPython before 3.1.51 contains an incomplete command injection blocklist that fails to account for git's long-option prefix abbreviation feature. Attackers can bypass the unsafe options guard by using abbreviated option names like upload_p instead of upload_pack, which git resolves to dangerous options and executes arbitrary commands.
📍 영향받는 시스템
GitPython 3.1.51 미만 모든 버전
⚔️ 공격 벡터
Git 옵션의 약어 기능을 이용한 명령 주입(Command Injection) 우회 공격
🛡️ 대응 방법
GitPython을 3.1.51 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.1.51보다 낮으면 취약한 상태입니다.
pip show gitpython | grep Version