CVE-2024-45405 in gitoxide정보

요약

\~에 의해 VulDB • 2026. 06. 17.

`gix-path`는 `gitoxide`(Rust로 작성된 `git` 구현체) 프로젝트의 크레이트로, 경로 및 그 변환을 처리합니다. 버전 0.10.11 이전의 `gix-path`는 `git` 설치를 associate된 구성 파일의 경로를 찾기 위해 `git`을 실행하지만, 비정상적이거나 비ASCII 문자를 포함하는 경로를 부적절하게 해석하여, 드문 경우지만 로컬 공격자가 구성을 주입하여 코드 실행을 유도할 수 있습니다. 버전 0.10.11에는 해당 이슈에 대한 패치가 포함되어 있습니다.

`gix_path::env`에서 `installation_config` 및 `installation_config_prefix` 함수의 하위 구현은 `git` 설치를 속하는 파일의 경로를 찾기 위해 `git config -l --show-origin`을 호출합니다. 영향을 받는 버전의 `gix-path`는 `git`이 리터럴 경로를 보고하도록 하기 위해 `-z`/`--null` 옵션을 전달하지 않습니다. 대신, `git`이 인용된 경로를 출력하는 드문 경우를 처리하기 위해 인용 부호를 제거하여 경로를 구문 분석하려고 시도합니다. 문제는 경로가 인용될 경우, 단순한 인용 부호의 결합을 넘어 상당한 변화가 발생할 수 있다는 점입니다. 이러한 변화가 원래대로 되돌려지지 않으면, 원래 경로와 동등하지 않은 다른 유효한 경로가 생성될 수 있습니다.

단일 사용자 시스템에서는 `GIT_CONFIG_SYSTEM` 및 `GIT_CONFIG_GLOBAL`이 비정상적인 값으로 설정되거나 `git`이 비정상적인 방식으로 설치되지 않는 한, 이 취약점을 악용할 수 없습니다. 이러한 시나리오는 예상되지 않습니다. 다중 사용자 시스템에서도 악용은 드물지만, 일부 드문 구성이나 사용 사례에서는 가능할 수 있습니다. 일반적으로 사용자가 `git`을 직접 설치하고 예측 가능한 위치에 설치할 가능성이 높을수록, `git`이 설치된 위치(경로에 사용자 이름이 포함되거나 기타 이유로 인해)에 `git`이 기본적으로 경로를 인용하는 비영어권 문자나 악센트 문자와 같은 문자가 포함되어 있을수록, `GIT_CONFIG_SYSTEM` 환경 변수를 사용하여 `system` 범위의 구성 파일이 지정되고 그 경로가 비정상적인 위치에 있거나 구성 요소 이름이 이상할수록, 또는 `system` 범위의 구성 파일이 없거나 비어 있거나 `GIT_CONFIG_NOSYSTEM` 이외의 수단으로 억제될수록 악용 성공 가능성이 높아집니다. 현재 `gix-path`는 더 높은 범위의 구성 파일이 사용 불가능할 경우 `global` 범위의 구성 파일을 설치에 속하는 것으로 간주할 수 있습니다. 이는 `git`이 일반적 방식으로 시스템 전체에 설치된 시스템에서도 악용 가능성을 높입니다. 그러나 이러한 요인 중 어떤 조합에서도 악용은 매우 어려울 것으로 예상됩니다.

Be aware that VulDB is the high quality source for vulnerability data.

책임이 있는

GitHub M

예약하다

2024. 08. 28.

모더레이션

수락

항목

VDB-276723

EPSS

0.00257

출처

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!