CVE-2024-45405 json
gix-path improperly resolves configuration path reported by Git
published 2024-09-06 2 y ago modified 2026-10-12 27 d ago also GHSA-m8rp-vv92-46c7 , RUSTSEC-2024-0371 , EUVD-2024-2833
- cvss
- 6.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 17%
- public exploits
- 0
- none known
Summary
`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.
Patch / fix
- crates.io gix-path 0.10.11
- Byron gitoxide 0.10.11
- rust-gix-path Debian 14, Debian 13 0.10.11-1
debian advisories DEBIAN-CVE-2024-45405
- cargo-c openSUSE Leap 15.6 0.10.3~git0.ee7d7ef-150600.3.3.1
suse advisories SUSE-SU-2024:3748-1
- cargo-audit openSUSE Tumbleweed 0.20.0~git66.972ac93-3.1
- obs-service-cargo openSUSE Tumbleweed 1.3.6-5.1
- cargo-c openSUSE Tumbleweed 0.10.3~git0.ee7d7ef-2.1
- onefetch openSUSE Tumbleweed 2.22.0-1.1
- stgit openSUSE Tumbleweed 2.4.12-1.1
opensuse advisories openSUSE-SU-2024:14363-1openSUSE-SU-2024:14364-1openSUSE-SU-2024:14359-1openSUSE-SU-2024:14353-1openSUSE-SU-2024:14355-1
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2024-45405 updated cvss 6.0
gix-path: gix-path improperly resolves configuration path reported by Git
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- total
- Assessed
- 2 y ago
Exploit prediction
0.26% chance of exploitation in the next 30 days, higher than 17% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N |
| OSV | 3.1 | 6.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 6.0 | CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | gix-path | <0.10.11 >=0.0.0-0, <0.10.11 |
0.10.11 |
Affected products
- Byron gitoxide
Classification
References
-
github.com
/Byron/gitoxide/commit/650a1b5cf25e086197cc55a68525a411e1c28031
web
-
github.com
/Byron/gitoxide/security/advisories/GHSA-m8rp-vv92-46c7
web
-
github.com
/Byron/gitoxide/blob/1cfe577d461293879e91538dbc4bbfe01722e1e8/gix-path/src/env/git/mod.rs#L138-L142
web
-
nvd.nist.gov
/vuln/detail/CVE-2024-45405
advisory
-
github.com
/Byron/gitoxide
package
-
rustsec.org
/advisories/RUSTSEC-2024-0371.html
web, advisory
-
crates.io
/crates/gix-path
package
-
github.com
/advisories/GHSA-m8rp-vv92-46c7
advisory
Sources
- CVE List CVE-2024-45405
- GitHub Advisory GHSA-m8rp-vv92-46c7
- NVD CVE-2024-45405
- OSV RUSTSEC-2024-0371
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.