Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconVictim initiates git clone with credentials
-
DeliveryAttacker-influenced server issues 302 cross-domain redirect
-
ExploitCurl follows redirect, attacker serves valid info/refs response
-
Installgitoxide stores attacker host as redirected_base_url
-
C2Subsequent POST rewritten to attacker host via swap_tails()
-
Executeadd_basic_auth_if_present() approves credentials against original URL
-
ImpactAttacker captures authentication tokens
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V6 - Authentication Credential protection in transit/storage
|
| Exploitation Conditions | Exploitation requires all of the following: the victim must be using gitoxide with the curl transport backend specifically (not the reqwest backend, which is unaffected); the victim must have HTTP credentials configured for the target repository (password, token, or other HTTP auth); the victim must initiate a git operation (clone, fetch, push) against a server the attacker can influence to return a 302 redirect; and the attacker must control or be able to serve responses from the redirect target. Cross-domain redirects (e.g., legitimate.com redirecting to attacker.com) and HTTPS-to-HTTP downgrades are both viable redirect types. Exploitation is limited by the need for attacker control over the redirect path - passive network observers cannot exploit this without the ability to inject redirect responses. |
| Impact | The CVSS 4.0 score of 7.6 with AV:N/AC:H/AT:P/PR:N/UI:P reflects a real but conditional threat. AC:H and AT:P are accurate - the attacker must either control a server capable of issuing the redirect or occupy a network position to inject one, and the victim must have credentials configured and must initiate a clone or fetch operation. VC:H and VI:H are justified because stolen git credentials typically provide full repository read and write access, enabling source code exfiltration and supply chain tampering. There is no EPSS score in the available data; the absence from CISA KEV and lack of public exploit code suggest opportunistic exploitation is not yet occurring. The attack is non-trivial: it requires either compromising a git hosting infrastructure or mounting an active redirect attack, reducing the realistic threat population. However, for organizations using gitoxide with the curl backend and cloning from untrusted or external repositories, the credential theft risk is concrete and the impact is high. The reqwest backend provides a natural architectural mitigation for users who can switch. |
| Exploit ScenarioDerived | An attacker operates a malicious git server or compromises a legitimate one, configured to issue a 302 redirect from the expected repository URL to an attacker-controlled endpoint. When a developer using gitoxide with the curl backend runs |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 28, 2026
Credential theft in gitoxide's curl-based HTTP transport backend allows attackers to capture authentication tokens (passwords, OAuth tokens) by exploiting a URL validation flaw during HTTP redirects. Affected are gitoxide versions 0.25.4 through 0.55.0 using the curl backend; the reqwest backend implements correct cross-domain redirect blocking and is not affected. An attacker who controls or can influence a redirect response from a git server can cause gitoxide to send the victim's full credentials to an attacker-controlled host on subsequent POST requests. No public exploit code has been identified at time of analysis, and the vulnerability is not listed in CISA KEV.
RemediationAI
Upgrade gix-transport to version 0.56.0, which contains the fix for this credential validation logic. The vendor patch is confirmed via the GitHub security advisory GHSA-9857-6mw7-fq2m at https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-9857-6mw7-fq2m. Update your Cargo.toml to pin gix-transport to 0.56.0 or later and run cargo update to apply the change. As an interim workaround, switch to the reqwest-based transport backend if your build configuration supports it, as it correctly blocks cross-domain redirects; this may require feature flag changes and should be validated against your existing usage patterns. Additionally, restrict gitoxide usage to trusted, controlled git servers only, and avoid cloning from third-party or public servers with user credentials configured until the patch is applied. Note that disabling HTTP redirect following entirely would break legitimate mirror and proxy configurations.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in cargo
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in gix-transport, the HTTP transport layer of the gitoxide Rust git implementation (CPE: cpe:2.3:a:gitoxidelabs:gitoxide:*:*:*:*:*:*:*:*). CWE-522 (Insufficiently Protected Credentials) applies: the root cause is that add_basic_auth_if_present() in gix-transport/src/client/blocking_io/http/mod.rs checks self.url - which is set once at construction and never updated - to determine whether to attach credentials, rather than checking the effective URL after redirect resolution. When a 302 redirect occurs during the initial GET /info/refs, the curl backend records the redirected host in redirected_base_url and subsequently rewrites all request URLs via swap_tails(). Because the credential guard still sees the original legitimate host, it approves attaching the Authorization header to requests that are actually dispatched to the attacker-controlled redirected host. The reqwest backend avoids this by comparing prev_url.host_str() to curr_url.host_str() and calling attempt.stop() on cross-domain redirects, preventing redirected_base_url from ever being set to a foreign host.
Know when Gitoxide gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Network vector with high complexity (redirect control required), user interaction mandatory, no privileges needed; credentials and repo write access both fully compromised.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
gitoxide versions from 0.25.4 contain an HTTP credential leak vulnerability in the curl-based transport backend where credentials are sent to attacker-controlled servers after HTTP redirects. The vulnerability occurs because credential validation checks the original URL instead of the effective URL after redirect, allowing attackers to steal authentication tokens through cross-domain redirects or HTTPS-to-HTTP downgrades.
Executive ViewAI
gitoxide versions 0.25.4-0.55.0 with the curl backend can leak Git credentials and OAuth tokens to external servers through malicious HTTP redirects, creating a direct channel for attackers to harvest authentication material. Organizations relying on these versions face immediate risk of repository compromise and unauthorized access to integrated systems and services. Immediate inventory and remediation are critical.
No vendor-released patch identified at time of analysis. Interim mitigations: rotate all Git credentials and OAuth tokens immediately; enforce HTTPS-only Git operations and block external HTTP redirects at network perimeter; configure tokens with minimal scope and 30-90 day expiration; implement real-time monitoring of Git credential access and unusual authentication patterns; restrict Git operations to known, trusted internal servers where possible.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Command injection in the gitoxide Rust library (gix-submodule crate before 0.82.0, gix before 0.83.0) allows attackers c
Path traversal and trust inheritance flaws in gitoxide's Rust crates gix (≤ 0.72.0) and gix-validate (≤ 0.10.0) allow an
Symlink following in gitoxide before 0.52.1 and the gix crate before 0.83.0 allows an attacker who supplies a malicious
Path traversal in gitoxide before 0.52.1 and gix before 0.83.0 allows an attacker who supplies a malicious git repositor
Denial-of-service in gitoxide's gix-pack crate before 0.69.0 exposes Rust Git clients to remote process crashes during c
Credential exfiltration in gitoxide's gix-transport crate allows a server controlling an HTTP redirect response to steal
Index-out-of-bounds panic in gitoxide's gix-packetline library (versions before 0.21.5) allows a malicious Git server to
Arbitrary file write outside the worktree boundary in gix-worktree-state (part of gitoxide) before 0.33.0 on Windows ena
Control-character injection in gitoxide's gix-transport crate before version 0.59.2 lets crafted git-daemon URLs smuggle
Credential hijacking in gitoxide before 0.38.2 allows remote attackers to redirect credential helper lookups to attacker
EUVD-2026-67581
GHSA-2r3q-w7g9-8rpr
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB