🇰🇷 한글 설명
GitPython 3.1.50 버전에서 안전하지 않은 옵션을 차단하는 기능이 -u<value>와 같은 결합된 단축 옵션을 제대로 인식하지 못하는 취약점이 발견되었습니다. 공격자가 조작된 클론 옵션을 전달할 경우, 보안 게이트를 우회하여 Git이 임의의 헬퍼 명령어를 실행하게 만들 수 있습니다.
💡 쉬운 설명
프로그램이 위험한 명령어를 막으려고 설정해둔 방어벽을 교묘한 약식 명령어를 사용해 통과할 수 있는 문제입니다. 이를 통해 해커가 사용자의 컴퓨터에서 몰래 악성 명령어를 실행할 수 있습니다.
🇺🇸 원문 (English)
GitPython 3.1.50 fails to recognize joined short-option forms such as -u<value> (the short form of --upload-pack=<value>) when enforcing its default unsafe-option gate. When an application passes attacker-influenced clone options into Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), an attacker can supply -u<helper> to bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper command during clone. Fixed in 3.1.51.
📍 영향받는 시스템
GitPython 3.1.50 이하 버전
⚔️ 공격 벡터
Repo.clone_from 함수에 조작된 -u<helper> 형태의 단축 옵션을 전달하여 보안 검사를 우회함
🛡️ 대응 방법
GitPython을 3.1.51 이상의 최신 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 3.1.50 이하이면 취약한 상태이며, 3.1.51 이상이면 안전합니다.
pip show GitPython | grep Version