CVE-2024-45405: byron gitoxide Improper Resolution of Path Equivalence
Vulnerability summary
CVE-2024-45405 is a medium (CVSS 6.0) Improper Resolution of Path Equivalence vulnerability in byron gitoxide. EPSS estimates a 0.26% chance of exploitation in the next 30 days, higher than 16.2% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 0 · Related 4Timeline
- 06-09-2024PublishedVulnerability first disclosed.
- 06-09-2024Last modifiedVulnerability information updated.
Description
`gix-path` is a crate of the `gitoxide` project (an implementation of `git` written in Rust) dealing paths and their conversions. Prior to version 0.10.11, `gix-path` runs `git` to find the path of a configuration file associated with the `git` installation, but improperly resolves paths containing unusual or non-ASCII characters, in rare cases enabling a local attacker to inject configuration leading to code execution. Version 0.10.11 contains a patch for the issue. In `gix_path::env`, the underlying implementation of the `installation_config` and `installation_config_prefix` functions calls `git config -l --show-origin` to find the path of a file to treat as belonging to the `git` installation. Affected versions of `gix-path` do not pass `-z`/`--null` to cause `git` to report literal paths. Instead, to cover the occasional case that `git` outputs a quoted path, they attempt to parse the path by stripping the quotation marks. The problem is that, when a path is quoted, it may change in substantial ways beyond the concatenation of quotation marks. If not reversed, these changes can result in another valid path that is not equivalent to the original. On a single-user system, it is not possible to exploit this, unless `GIT_CONFIG_SYSTEM` and `GIT_CONFIG_GLOBAL` have been set to unusual values or Git has been installed in an unusual way. Such a scenario is not expected. Exploitation is unlikely even on a multi-user system, though it is plausible in some uncommon configurations or use cases. In general, exploitation is more likely to succeed if users are expected to install `git` themselves, and are likely to do so in predictable locations; locations where `git` is installed, whether due to usernames in their paths or otherwise, contain characters that `git` quotes by default in paths, such as non-English letters and accented letters; a custom `system`-scope configuration file is specified with the `GIT_CONFIG_SYSTEM` environment variable, and its path is in an unusual location or has strangely named components; or a `system`-scope configuration file is absent, empty, or suppressed by means other than `GIT_CONFIG_NOSYSTEM`. Currently, `gix-path` can treat a `global`-scope configuration file as belonging to the installation if no higher scope configuration file is available. This increases the likelihood of exploitation even on a system where `git` is installed system-wide in an ordinary way. However, exploitation is expected to be very difficult even under any combination of those factors.
CVSS metrics
7 scores · 7 sources · 1 version- OSV · UbuntuEcosystem advisory · calculated6.0MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
- OSV · DebianEcosystem advisory · calculated6.0MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
- OSV · WolfiEcosystem advisory · calculated6.0MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
- OSV · ChainguardEcosystem advisory · calculated6.0MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
- OSV · Crates.ioEcosystem advisory · calculated6.0MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
- NVDNIST6.0MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N
EPSS trend
Probability
0.26%
Chance of exploitation in the next 30 days
Percentile
16%
Versus all other CVEs
30-day change
0.00 pp
From 0.26% on 20-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root cause- CWE-41Improper Resolution of Path EquivalenceThe product is vulnerable to file system contents disclosure through path equivalence. Path equivalence involves the use of special characters in file and directory names. The associated manipulations are intended to generate multiple names for the same object.
- CWE-427Uncontrolled Search Path ElementThe product uses a fixed or controlled search path to find resources, but one or more locations in that path can be under the control of unintended actors.
Affected systems
Opensuse6 products
- cargo-audit&distro=openSUSE Tumbleweed< 0.20.0~git66.972ac93-3.1
- cargo-c&distro=openSUSE Leap 15.6< 0.10.3~git0.ee7d7ef-150600.3.3.1
- cargo-c&distro=openSUSE Tumbleweed< 0.10.3~git0.ee7d7ef-2.1
- obs-service-cargo&distro=openSUSE Tumbleweed< 1.3.6-5.1
- onefetch&distro=openSUSE Tumbleweed< 2.22.0-1.1
Chainguard3 products
- cargo-audit< 0.21.2-r1
- cargo-c< 0.10.4-r0
- starship< 1.20.1-r4
Wolfi3 products
- cargo-audit< 0.21.2-r1
- cargo-c< 0.10.4-r0
- starship< 1.20.1-r4
Byron1 product
- gitoxide< 0.10.11
Crates.Io1 product
- gix-path< 0.10.11 | ≥ 0.0.0-0, < 0.10.11
Debian1 product
- rust-gix-path< 0.10.11-1
Ubuntu1 product
- rust-gix-pathAll versions (No fix recorded)
7 vendors · 16 products
References
20 linksShow all 20 references
- lists.opensuse.org/archives/…Advisory
- lists.opensuse.org/archives/…Advisory
- lists.opensuse.org/archives/…Advisory
- lists.opensuse.org/archives/…Advisory
- lists.opensuse.org/archives/…Advisory
- github.com/Byron/gitoxidePACKAGE
- crates.io/crates/gix-pathPACKAGE