Description
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.
Published: 2026-08-28
Score: 8.7 High
EPSS: < 1% Very Low
KEV: No
Impact: Credential Disclosure
Action: Immediate Update
AI Analysis

Impact

The vulnerability is a path traversal flaw in the gix-validate component of gitoxide: the submodule name validation function only checks for the first occurrence of '..', allowing crafted names such as 'a..b/../../../.git/' to bypass the validation. Combined with a trust inheritance flaw in Submodule::open(), which clones the parent repository’s git_dir_trust without performing ownership verification, an attacker can cause a victim tool built on gitoxide to read arbitrary files from the repository. This flaw does not provide an immediate code‑execution path but enables sensitive data disclosure and credential compromise.

Affected Systems

This flaw affects Gitoxide Labs’ gitoxide library as distributed via the Rust crates gix (versions <= 0.72.0) and gix-validate (versions <= 0.10.0). The issue was fixed in gix 0.82.0 and gix-validate 0.11.1.

Risk and Exploitability

The CVSS score of 8.7 places the vulnerability in the high severity range and indicates significant impact. Documentation does not provide an EPSS value; the KEV status is false, indicating it is not listed, implying no confirmed exploitation yet. The likely attack vector is local: an attacker who can place a malicious .gitmodules file in a repository that a tool based on gitoxide will process can bypass safe-directory protections and read the repository’s configuration—including embedded credentials—by exploiting the unchecked trust in git_dir_trust. The flaw does not provide an immediate code‑execution path but enables sensitive data disclosure and credential compromise.

Generated by OpenCVE AI on August 28, 2026 at 13:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the gix crate to at least 0.82.0 and gix-validate to at least 0.11.1.
  • Remove or sanitize any untrusted .gitmodules files before they are processed by gitoxide.
  • Configure gitoxide to enforce safe-directory restrictions and disable full trust inheritance in git_dir_trust.

Generated by OpenCVE AI on August 28, 2026 at 13:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 31 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 28 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Description 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.
Title gitoxide before 0.82.0 Path Traversal via Submodule Name Validation Bypass
First Time appeared Gitoxidelabs
Gitoxidelabs gitoxide
Weaknesses CWE-22
CPEs cpe:2.3:a:gitoxidelabs:gitoxide:*:*:*:*:*:*:*:*
Vendors & Products Gitoxidelabs
Gitoxidelabs gitoxide
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 8.7, 'vector': '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'}


Subscriptions

Gitoxidelabs Gitoxide
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-31T18:34:55.673Z

Reserved: 2026-08-28T10:39:30.355Z

Link: CVE-2026-82253

cve-icon Vulnrichment

Updated: 2026-08-31T18:34:49.215Z

cve-icon NVD

Status : Deferred

Published: 2026-08-28T12:16:38.027

Modified: 2026-08-31T19:17:16.430

Link: CVE-2026-82253

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T16:00:13Z

Weaknesses
  • CWE-22

    Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')