🇰🇷 한글 설명
GitPython 3.1.58 미만 버전에서 check_unsafe_options 가드 기능을 우회하여 명령어를 실행할 수 있는 취약점이 발견되었습니다. 공격자가 특정 조건의 kwargs 딕셔너리를 전달하면 --upload-pack 옵션이 삽입되어 임의의 OS 명령어를 실행할 수 있습니다.
💡 쉬운 설명
Git 관련 도구를 사용하는 프로그램에서 특수하게 조작된 명령을 보내면, 해커가 컴퓨터에 마음대로 명령을 내릴 수 있는 보안 구멍이 있습니다. 이는 안전하다고 믿었던 검사 과정을 교묘하게 속여서 발생합니다.
🇺🇸 원문 (English)
GitPython before 3.1.58 contains a command execution vulnerability in the check_unsafe_options guard that can be bypassed by combining a single-character kwarg with split_single_char_options=False. Attackers can supply a crafted kwargs dictionary to guarded methods like clone_from to emit a joined token parsed as --upload-pack, enabling arbitrary OS command execution at default allow_unsafe_options=False.
📍 영향받는 시스템
GitPython 3.1.58 미만 모든 버전
⚔️ 공격 벡터
clone_from과 같은 메서드에 조작된 kwargs 딕셔너리를 전달하여 --upload-pack 옵션 주입
🛡️ 대응 방법
GitPython을 3.1.58 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.1.58보다 낮으면 취약한 상태입니다.
pip show gitpython | grep Version