🇰🇷 한글 설명
Gitoxide의 gix-transport가 SSH URL의 username 부분을 검증하지 않아 악의적인 SSH 옵션이 주입될 수 있습니다. 악의적인 파일이 있는 디렉토리에서 이용될 경우 임의의 코드 실행이 가능합니다.
💡 쉬운 설명
Git 저장소를 복제할 때 특별히 조작된 URL을 사용하면 숨겨진 명령어가 실행될 수 있습니다. 악의적인 파일이 있는 폴더에서 이런 URL을 사용할 때 위험합니다.
🇺🇸 원문 (English)
gitoxide is a pure Rust implementation of Git. `gix-transport` does not check the username part of a URL for text that the external `ssh` program would interpret as an option. A specially crafted clone URL can smuggle options to SSH. The possibilities are syntactically limited, but if a malicious clone URL is used by an application whose current working directory contains a malicious file, arbitrary code execution occurs. This is related to the patched vulnerability GHSA-rrjw-j4m2-mf34, but appears less severe due to a greater attack complexity. This issue has been patched in versions 0.35.0, 0.42.0 and 0.62.0.
📍 영향받는 시스템
gitoxide 0.62.0 미만 모든 버전 (패치 버전: 0.35.0, 0.42.0, 0.62.0)
⚔️ 공격 벡터
특별히 조작된 SSH clone URL의 username 부분에 SSH 옵션을 주입하여 실행
🛡️ 대응 방법
gitoxide를 0.62.0 이상으로 업그레이드
🔧 검증 코드
버전이 0.62.0 이상이면 안전합니다. 그 이하면 즉시 업그레이드하세요.
grep -A2 'name = "gitoxide"' Cargo.lock 2>/dev/null | grep version || echo 'gitoxide not found'