gix-path uses local config across repos when it is the highest scope
概要
gix-path uses local config across repos when it is the highest scope
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Summary
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.
Details
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:
While the configuration variable of highest scope is not usually in the local scope, there are practical situations where this occurs:
- A configuration file truly associated with the installation is not present on all systems and can occasionally be empty. Likewise, there may be no variables in the global scope.
- Configuration files associated with those higher scopes may be deliberately skipped by setting the
GIT_CONFIG_SYSTEMandGIT_CONFIG_GLOBALenvironment variables to/dev/null(or toNULon Windows). This preventsgix-pathfrom finding the path of configuration files for those scopes, while not preventing downstream components such as the function in `gix-config…
出典: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
影響パッケージ
ディストリビューション別の修正状況
各ディストリビューションが公開している、この CVE の修正パッケージ
- Debian DEBIAN-CVE-2024-45305 rust-gix-path 修正版: 0.10.11-1
参照URL
- advisory rustsec.org
- advisory github.com
- package crates.io
- web github.com
- web nvd.nist.gov