🇰🇷 한글 설명
gitoxide-core가 저장소 경로, 작성자 이름, 커밋 메시지 등에 포함된 개행, 백스페이스, 제어 문자와 ANSI 이스케이프 시퀀스를 정규화하지 않아, 신뢰할 수 없는 저장소가 내용을 잘못 표현하거나 에러 메시지를 조작할 수 있다.
💡 쉬운 설명
gitoxide라는 Git 도구에서 특수 문자들을 제대로 처리하지 않아, 악의적인 저장소가 거짓 메시지를 화면에 표시할 수 있는 문제입니다. ANSI 코드를 이용해 출력을 조작하거나 의도하지 않은 정보를 사용자에게 표시할 수 있습니다.
🇺🇸 원문 (English)
gitoxide An idiomatic, lean, fast & safe pure Rust implementation of Git. gitoxide-core, which provides most underlying functionality of the gix and ein commands, does not neutralize newlines, backspaces, or control characters—including those that form ANSI escape sequences—that appear in a repository's paths, author and committer names, commit messages, or other metadata. Such text may be written as part of the output of a command, as well as appearing in error messages when an operation fails. This sometimes allows an untrusted repository to misrepresent its contents and to alter or concoct error messages.
📍 영향받는 시스템
gitoxide 및 gix, ein 명령어를 사용하는 모든 버전 (CVE 공지 당시 패치 전 버전)
⚔️ 공격 벡터
악의적인 저장소를 clone하거나 상호작용할 때 ANSI 이스케이프 시퀀스가 포함된 파일명이나 메타데이터를 통해 출력 조작 및 정보 은폐
🛡️ 대응 방법
gitoxide를 최신 버전으로 업그레이드하여 control character 정규화 처리 적용
🔧 검증 코드
설치되어 있으면 gitoxide의 경로와 버전이 출력되고, 설치되지 않았으면 'gitoxide not installed' 메시지가 표시됨
which gix && gix --version || echo 'gitoxide not installed'