🇰🇷 한글 설명
gitoxide의 gix-worktree-state에서 파일 체크아웃 시 권한 설정이 umask의 영향을 받지 않아, 저장소의 파일들이 world-writable 상태가 될 수 있습니다. 이는 같은 시스템의 다른 사용자가 파일을 수정할 수 있다는 보안 위험을 초래합니다. 0.17.0 이상으로 업그레이드하면 해결됩니다.
💡 쉬운 설명
gitoxide 라이브러리에서 파일을 생성할 때 실수로 모든 사용자가 수정할 수 있도록 설정될 수 있습니다. 같은 서버에 접근 가능한 다른 사용자들이 중요한 파일을 변경하거나 악성 코드를 주입할 위험이 있습니다.
🇺🇸 원문 (English)
gitoxide is an implementation of git written in Rust. Prior to 0.17.0, gix-worktree-state specifies 0777 permissions when checking out executable files, intending that the umask will restrict them appropriately. But one of the strategies it uses to set permissions is not subject to the umask. This causes files in a repository to be world-writable in some situations. This vulnerability is fixed in 0.17.0.
📍 영향받는 시스템
gitoxide 0.17.0 미만 버전 (gix-worktree-state 컴포넌트)
⚔️ 공격 벡터
시스템에 접근 가능한 공격자가 world-writable 권한으로 설정된 저장소 파일에 접근하여 수정하거나 악성 코드를 주입합니다.
🛡️ 대응 방법
gitoxide를 0.17.0 이상으로 즉시 업그레이드합니다.
🔧 검증 코드
표시된 버전이 0.17.0 이상이면 안전하고, 0.17.0 미만이면 취약합니다.
grep -A1 'name = "gitoxide"' Cargo.lock | grep version | head -1