CVE-2026-82253: gitoxide before 0.82.0 Path Traversal via Submodule Name Validation Bypass

Published Aug 28, 2026
·
Updated

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 gitdirtrust (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.

Affected Software

2 affected components
gitoxide/gix<0.82.0
gitoxide/gix-validate<0.11.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade gix to a version that resolves this vulnerability.

    Fixed in 0.82.0
  2. Upgrade

    Upgrade gix-validate to a version that resolves this vulnerability.

    Fixed in 0.11.1
  3. Compensating control

    If upgrading is not immediately possible, mitigate by preventing untrusted repositories (including crafted .gitmodules) from being processed by gitoxide, since validation in gix-validate (e.g., name.find(b"..")) is not invoked in production code paths.

Event History

Aug 28, 2026
CVE Published
via MITRE·10:49 AM
Data Sourced
via MITRE·10:49 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Tools built on affected gitoxide crates are exposed when they process an attacker-controlled repository containing a malicious .gitmodules file. The issue affects gix versions through 0.72.0 and gix-validate versions through 0.10.0.

2

What does an attacker need to exploit it?

An attacker needs to provide a repository with a crafted submodule name in .gitmodules, such as one using traversal components after an initial non-blocked '..' occurrence. No authentication or user interaction is required according to the supplied CVSS vector.

3

What is the practical impact?

A malicious submodule name can cause the victim tool to read arbitrary Git repository configuration with full trust. This can expose embedded credentials and bypass safe-directory protections because ownership verification is skipped under inherited full trust.

4

Is submodule-name validation an effective mitigation in the affected releases?

No. The described validation checks only the first occurrence of '..' and is not invoked in production code paths, so it does not prevent exploitation in the affected software.

5

Which versions contain the fix?

The issue is fixed in gix 0.82.0 and gix-validate 0.11.1.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203