Skip to main content

gitoxide gix-transport CVE-2026-82255

| EUVDEUVD-2026-67581 HIGH
Insufficiently Protected Credentials (CWE-522)
2026-08-28 VulnCheck GHSA-2r3q-w7g9-8rpr
7.6
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Victim initiates git clone with credentials
  2. Delivery
    Attacker-influenced server issues 302 cross-domain redirect
  3. Exploit
    Curl follows redirect, attacker serves valid info/refs response
  4. Install
    gitoxide stores attacker host as redirected_base_url
  5. C2
    Subsequent POST rewritten to attacker host via swap_tails()
  6. Execute
    add_basic_auth_if_present() approves credentials against original URL
  7. Impact
    Attacker 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 git clone https://legitimate.com/repo with credentials stored in their git config or credential helper, the curl backend follows the redirect and stores the attacker's host as the new base URL. All subsequent POST requests - including POST /git-upload-pack - are rewritten to the attacker's server and sent with the victim's Authorization header attached, delivering the plaintext credentials or tokens to the attacker.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

gitoxide patch: 0

Affected Packages

cargo gix-transport fix: 0.56.0

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

Vendor (VulnCheck) PRIMARY 7.6 HIGH
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
vuln.today AI 6.8 MEDIUM

Network vector with high complexity (redirect control required), user interaction mandatory, no privileges needed; credentials and repo write access both fully compromised.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
niche Rust-native git library, not widely deployed in production infrastructure
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-40034 HIGH POC
8.5 May 26

Command injection in the gitoxide Rust library (gix-submodule crate before 0.82.0, gix before 0.83.0) allows attackers c

CVE-2026-82253 HIGH
8.7 Aug 28

Path traversal and trust inheritance flaws in gitoxide's Rust crates gix (≤ 0.72.0) and gix-validate (≤ 0.10.0) allow an

CVE-2026-82252 HIGH
8.7 Aug 28

Symlink following in gitoxide before 0.52.1 and the gix crate before 0.83.0 allows an attacker who supplies a malicious

CVE-2026-82251 HIGH
8.7 Aug 28

Path traversal in gitoxide before 0.52.1 and gix before 0.83.0 allows an attacker who supplies a malicious git repositor

CVE-2026-82254 HIGH
8.7 Aug 28

Denial-of-service in gitoxide's gix-pack crate before 0.69.0 exposes Rust Git clients to remote process crashes during c

CVE-2026-82247 HIGH
8.7 Aug 28

Credential exfiltration in gitoxide's gix-transport crate allows a server controlling an HTTP redirect response to steal

CVE-2026-82250 HIGH
7.1 Aug 28

Index-out-of-bounds panic in gitoxide's gix-packetline library (versions before 0.21.5) allows a malicious Git server to

CVE-2026-82248 MEDIUM
6.0 Aug 28

Arbitrary file write outside the worktree boundary in gix-worktree-state (part of gitoxide) before 0.33.0 on Windows ena

CVE-2026-91986 MEDIUM
5.3 Sep 15

Control-character injection in gitoxide's gix-transport crate before version 0.59.2 lets crafted git-daemon URLs smuggle

CVE-2026-82249 LOW
2.3 Aug 28

Credential hijacking in gitoxide before 0.38.2 allows remote attackers to redirect credential helper lookups to attacker

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy