Skip to main content

gitoxide CVE-2026-82253

| EUVDEUVD-2026-67705 HIGH
Path Traversal (CWE-22)
2026-08-28 VulnCheck GHSA-6f8q-f8px-cxhw
8.7
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Recon
    Host malicious repo with crafted .gitmodules
  2. Delivery
    Victim tool clones or processes repo
  3. Exploit
    Submodule name validation bypassed via a..b/../../ pattern
  4. Install
    git_dir() constructs traversal path unchecked
  5. C2
    Submodule::open() inherits Trust::Full, skips ownership check
  6. Execute
    Arbitrary git config read from traversed path
  7. Impact
    Embedded credentials disclosed

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The victim must be running a tool built on the gix crate (< 0.83.0 per GHSA) that processes git repositories with submodule entries - specifically, code paths that call Submodule::open() or construct paths via git_dir() from submodule names. The attacker must supply a repository the victim's tool will process, either via a public clone URL or a crafted repository archive. No authentication is required on the attacker side (confirmed by PR:N in CVSS 4.0 vector). The traversal payload must resolve to a directory on the victim filesystem that contains a readable git config structure (e.g., ~/.ssh/ if it contains a .git/config, or more commonly the user's home git config). Limiting factors: only gitoxide-based tooling is affected - native git, libgit2-based tools, and JGit are unaffected; the traversal target must be a git repository directory structure (arbitrary file read is not achieved); and the victim system must have a .git/config or similar git config at the traversed path containing credentials of value to the attacker.

Impact

The CVSS 4.0 base score of 8.7 with vector AV:N/AC:L/AT:N/PR:N/UI:N/VC:H reflects high real-world confidentiality impact: no authentication is required on the attacker side, attack complexity is low, and the confidentiality impact on the vulnerable system is high due to potential credential disclosure from git configs. The EPSS score was not provided in the source data. KEV status is negative - CISA has not listed this CVE, indicating no confirmed widespread exploitation at time of analysis. A PoC was referenced in the GHSA advisory (truncated in available data), which upgrades risk relative to a theoretical-only finding. The three-bug chain is significant: Bug 2 (validation never called) means Bug 1 alone is only a partial assessment - even a correct validator would have done nothing in production. This is an architectural flaw, not just an edge-case bypass. Real-world impact is bounded by the deployment footprint of gitoxide-based tooling, which is currently niche within the Rust ecosystem; tools like gitui, jj, and custom CI pipelines using gix are the primary at-risk surface. The UI:N CVSS 4.0 rating is defensible for automated pipeline contexts where submodule processing is triggered implicitly during clone operations.

Exploit ScenarioDerived

An attacker publishes a public git repository containing a .gitmodules file with a crafted submodule name such as a..b/../../../home/user/.ssh/.git/; a developer or automated CI system running a gitoxide-based tool clones or processes this repository, causing git_dir() to construct a traversal path into ~/.ssh/ without triggering the defective validator. The trust inheritance flaw causes Submodule::open() to open that directory with Trust::Full, allowing the tool to read ~/.git/config or similar files from the traversed path and potentially log or exfiltrate any embedded credentials such as PATs or credential.helper stored tokens. A compiled PoC was referenced in the GHSA advisory (Rust 1.94.1 release mode), indicating this scenario is demonstrably achievable.

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

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

Alert me

AnalysisAIv1 – Aug 28, 2026

Path traversal and trust inheritance flaws in gitoxide's Rust crates gix (≤ 0.72.0) and gix-validate (≤ 0.10.0) allow an attacker who supplies a malicious repository to read arbitrary git configuration files - including embedded credentials - from a victim system. The attack chains three bugs: a first-occurrence-only find(b"..") check in submodule name validation that is bypassed by names like a..b/../../../.git/, the fact that this validation function is never invoked in production code, and a trust inheritance flaw in Submodule::open() that propagates the parent repository's Trust::Full to the traversed path while skipping ownership verification entirely. No public exploit has been identified at time of analysis, though a compiled PoC was referenced (truncated) in the GHSA advisory.

RemediationAI

Upgrade gix to 0.83.0 and gix-validate to 0.11.1 per the GHSA advisory at https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-p3hw-mv63-rf9w. Note a discrepancy: the CVE description states the fix is in gix 0.82.0, while the GHSA package metadata states fixed in 0.83.0 - use 0.83.0 as the conservative safe target until independently confirmed by the maintainers. The VulnCheck advisory at https://www.vulncheck.com/advisories/gitoxide-before-0.82.0-path-traversal-via-submodule-name-validation-bypass may provide additional version guidance. If immediate upgrade is not possible, a practical compensating control is to avoid processing untrusted repositories (or repositories with untrusted submodule configurations) in gitoxide-based tooling; disabling submodule initialization or processing in any application built on gix eliminates the attack surface at the cost of submodule functionality. There is no OS-level control that mitigates the trust inheritance bypass once a traversal is achieved.

Affected VersionsENISA

gitoxide 0 <0.82.0
gitoxide 0 <0.11.1

Affected Packages

cargo gix fix: 0.83.0
cargo gix-validate fix: 0.11.1
euvd gitoxide fix: 0.11.1, 0.82.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in cargo, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected components are two Rust crates published by GitoxideLabs: gix (the high-level git library) and gix-validate (the input validation primitive), identified by CPE cpe:2.3:a:gitoxidelabs:gitoxide:*:*:*:*:*:*:*:*. The root cause class is CWE-22 (Path Traversal). Bug 1 is a logic error in gix-validate/src/submodule.rs lines 27-42: name.find(b"..") locates only the first .. occurrence; if that occurrence is not followed by / or \ (e.g., a..b), the function returns Ok without inspecting the rest of the string, so subsequent /../ sequences are invisible. Bug 2 renders the validator moot: no production caller invokes gix_validate::submodule::name() - gix-submodule/src/access.rs:29 explicitly documents returning unvalidated names, and gix/src/submodule/mod.rs:198-204 feeds raw submodule names directly into common_dir().join("modules").join(name). Bug 3 is a short-circuit in gix/src/open/repository.rs:103-104: ownership verification only runs when options.git_dir_trust.is_none(); because Submodule::open() clones the parent's options (which carry git_dir_trust: Some(Trust::Full)), the condition is false and the check is skipped entirely, opening the traversed path with full trust regardless of filesystem ownership.

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 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Victim must actively clone or process the malicious repository, warranting UI:R; no auth required on attacker side; confidentiality-only impact via credential disclosure.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
Patch available
Aug 28, 2026 - 13:17 EUVD
CVE Published
Aug 28, 2026 - 10:49 cve.org
HIGH 8.7

DescriptionCVE.org

gitoxide (Rust crates gix <= 0.72.0 and gix-validate <= 0.10.0) contains a path traversal vulnerability. The submodule name validation function in gix-validate only checks the first occurrence of '..' via name.find(b".."), allowing crafted names such as 'a..b/../../../.git/' to bypass the check; additionally this validation is never invoked in production code paths. Combined with a trust inheritance flaw in Submodule::open(), where the parent repository's git_dir_trust (Trust::Full) is cloned and the ownership verification is skipped, an attacker can craft a malicious .gitmodules file so that a victim tool built on gitoxide reads arbitrary git repository configuration (including embedded credentials) with full trust, bypassing safe-directory protections. Fixed in gix 0.82.0 and gix-validate 0.11.1.

Executive ViewAI

Why It Matters

Gitoxide (gix library versions ≤0.72.0 and gix-validate ≤0.10.0) contains path traversal and trust inheritance flaws that allow attackers supplying malicious Git repositories to exfiltrate arbitrary Git configuration files, including embedded credentials, from affected systems. Organizations relying on gitoxide for Git operations face credential compromise and potential unauthorized access to downstream systems.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict Git operations to trusted, scanned repositories; prohibit cloning from external or untrusted sources; implement file-level access controls and audit logging for .git/config and related credential stores; rotate all embedded Git credentials immediately; consider isolating gitoxide-dependent services until patch availability; monitor vendor security advisories (gitoxide/gitoxide GitHub repository) for fix releases.

Threat Intelligence Overview

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Low
niche Rust git library, limited enterprise tooling footprint
Social Media
2
Sightings
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor CIRCL 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.5%
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
Out-of-Cycle
Exploitation
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

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-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-82255 HIGH
7.6 Aug 28

Credential theft in gitoxide's curl-based HTTP transport backend allows attackers to capture authentication tokens (pass

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

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Server 16.0 Affected
SUSE Linux Enterprise Server 16.0 Affected
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server 16.1 Affected
SUSE Linux Enterprise Server for SAP applications 16.0 Affected

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