🔍 CVE-2024-45305

2.5
CVSS Score
LOW
2024-09-02
2026-04-15 00:35
✅ 완료

🇰🇷 한글 설명

gitoxide 프로젝트의 gix-path 크레이트가 상위 범위 git 설정이 없을 때 로컬 저장소 설정을 시스템 전체 설정으로 잘못 처리합니다. 이로 인해 신뢰도가 낮은 저장소가 높은 신뢰도로 취급되거나 저장소 간 인증정보가 유출될 수 있습니다.

💡 쉬운 설명

git 설정을 찾을 때 개인 저장소의 정보를 모든 저장소에 적용되는 설정으로 착각합니다. 이 때문에 한 저장소의 로그인 정보가 다른 저장소로 전달될 수 있습니다.

🇺🇸 원문 (English)

gix-path is a crate of the gitoxide project dealing with git paths and their conversions. `gix-path` executes `git` to find the path of a configuration file that belongs to the `git` installation itself, but mistakenly treats the local repository's configuration as system-wide if no higher scoped configuration is found. In rare cases, this causes a less trusted repository to be treated as more trusted, or leaks sensitive information from one repository to another, such as sending credentials to another repository's remote. In `gix_path::env`, the underlying implementation of the `installation_config` and `installation_config_prefix` functions calls `git config -l --show-origin` and parses the first line of the output to extract the path to the configuration file holding the configuration variable of highest scope. It is believed to be very difficult to exploit this vulnerability deliberately, due to the need either to anticipate a situation in which higher-scoped configuration variables would be absent, or to arrange for this to happen. Although any operating system may be affected, users running Apple Git on macOS are much less likely to be affected. This issue has been addressed in release version 0.10.10. All users are advised to upgrade.

📍 영향받는 시스템

Rust 프로젝트에서 gix-path 0.10.10 미만 버전을 의존하는 경우

⚔️ 공격 벡터

상위 범위 git 설정이 없는 상황을 조성하여 로컬 저장소 설정을 전역으로 취급되게 유도

🛡️ 대응 방법

Cargo.toml의 gix-path 의존성을 0.10.10 이상으로 업그레이드하고 cargo update 실행

🔧 검증 코드

출력에서 gix-path 버전이 0.10.10 이상이면 안전합니다. 0.10.10 미만이거나 아무 결과도 없으면 업그레이드가 필요합니다.

Shell / Script
cargo tree 2>/dev/null | grep gix-path

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N

💻 영향받는 소프트웨어

Git