🇰🇷 한글 설명
go-git 라이브러리의 특정 버전에서 워크트리 작업 시 심볼릭 링크의 경로 제한을 제대로 수행하지 못하는 취약점이 발견되었습니다. 악의적으로 조작된 저장소를 클론하고 워크트리 작업을 수행할 경우, 의도하지 않은 디렉토리 외부의 파일을 읽거나 쓸 수 있습니다.
💡 쉬운 설명
가짜 링크가 포함된 저장소를 다운로드하면, 프로그램이 원래 작업 공간을 벗어나 컴퓨터의 중요한 파일을 몰래 읽거나 수정할 수 있는 문제입니다. 이는 마치 잘못된 이정표를 따라가다가 허가되지 않은 금지 구역에 들어가는 것과 같습니다.
🇺🇸 원문 (English)
go-git is an extensible git implementation library written in pure Go. Prior to 5.19.2 and 6.0.0-alpha.5, worktree operations (including checkout, status, and add) resolve symbolic links inside the working tree without confining resolution to the worktree boundary, so a maliciously crafted repository containing a symlink can cause go-git to read from or write to files outside the intended working directory when the repository is cloned and its worktree operations are used. Versions 5.19.2 and 6.0.0-alpha.5.
📍 영향받는 시스템
go-git versions prior to 5.19.2 and 6.0.0-alpha.5
⚔️ 공격 벡터
악의적으로 조작된 심볼릭 링크가 포함된 Git 저장소를 클론한 후 워크트리 작업(checkout, status, add 등)을 수행
🛡️ 대응 방법
go-git 라이브러리를 5.19.2 또는 6.0.0-alpha.5 이상의 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 go-git의 버전이 5.19.2 또는 6.0.0-alpha.5보다 낮은지 확인하십시오.
go list -m all | grep go-git