CVE-2024-32884
Rust vulnerability analysis and mitigation

Overview

gitoxide is a pure Rust implementation of Git that contains a vulnerability in its gix-transport component (CVE-2024-32884). The vulnerability allows attackers to smuggle SSH options through specially crafted clone URLs due to insufficient validation of the username part of URLs. This security flaw was discovered and disclosed in April 2024, affecting versions prior to 0.35.0, 0.42.0, and 0.62.0 (GitHub Advisory, RustSec Advisory).

Technical details

The vulnerability stems from gix-transport's failure to check the username portion of URLs for text that could be interpreted as SSH program options. While the component checks host and path portions for potentially dangerous characters, it overlooks the non-mandatory username section. When processing SSH URLs in the format ssh://username@hostname/path or username@hostname:dirs/repo, the system performs URL encoding on some characters in the username but still passes the username@hostname combination as an argument to the external SSH command. If the username begins with a hyphen, SSH interprets it as an option argument, potentially leading to security issues. The vulnerability has been assigned a CVSS v3.1 score of 6.4 (Medium) with vector: CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:L (GitHub Advisory).

Impact

The vulnerability can lead to arbitrary code execution if a malicious clone URL is used by an application whose current working directory contains a malicious file. The impact is particularly significant in scenarios involving repositories with automatically added submodules, operations on other repositories from within an untrusted repository, or when reviewing contributions from untrusted developers by checking out branches from untrusted forks (GitHub Advisory).

Exploitability

Exploitation requires user interaction to trigger a clone or connection attempt using the malicious URL. The attack is constrained by several factors, including the difficulty of forming valid SSH option arguments due to URL encoding of special characters, the inability to include literal '=' signs (preventing -oNAME=VALUE usage), and the inability to include literal '/' or '' characters. However, an attacker can achieve code execution by placing a specially named SSH configuration file in the current working directory and smuggling in an -F option referencing that file (GitHub Advisory, RustSec Advisory).

Mitigation and workarounds

The vulnerability has been patched in multiple versions: gitoxide v0.35.0, gix v0.62.0, and gix-transport v0.42.0. Users are strongly advised to upgrade to these or later versions to mitigate the security risk (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Rust vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-46369HIGH7.5
  • Rust logoRust
  • nimiq-blockchain
NoYesAug 12, 2026
GHSA-8rw6-p7m8-63jpMEDIUM6.5
  • Rust logoRust
  • surrealdb
NoYesAug 14, 2026
CVE-2026-73430MEDIUM5.3
  • Rust logoRust
  • russh
NoYesAug 12, 2026
CVE-2026-73429MEDIUM5.3
  • Rust logoRust
  • yazi
NoYesAug 12, 2026
CVE-2026-73489MEDIUM4.3
  • Rust logoRust
  • russh
NoYesAug 13, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management