Description
gitoxide is a pure Rust implementation of Git. `gix-transport` does not check the username part of a URL for text that the external `ssh` program would interpret as an option. A specially crafted clone URL can smuggle options to SSH. The possibilities are syntactically limited, but if a malicious clone URL is used by an application whose current working directory contains a malicious file, arbitrary code execution occurs. This is related to the patched vulnerability GHSA-rrjw-j4m2-mf34, but appears less severe due to a greater attack complexity. This issue has been patched in versions 0.35.0, 0.42.0 and 0.62.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Byron | gitoxide | < 0.42.0, < 0.62, < 0.35 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | rust | 1.75.0-9 | — |
| Azure Linux 2 (CBL-Mariner) | rust | 1.72.0-8 | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | cargo-audit | 0.21.2-r1 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| crates.io | gitoxide | < 0.35 | 0.35 | GHSA-98p4-xjmm-8mfh |
| crates.io | gix | < 0.62 | 0.62 | GHSA-98p4-xjmm-8mfh |
| crates.io | gix-transport | < 0.42.0 | 0.42.0 | GHSA-98p4-xjmm-8mfh |
| crates.io | gix-transport | >= 0.0.0-0, < 0.42.0 | 0.42.0 | RUSTSEC-2024-0335 |