CVE-2026-82251
CBL Mariner vulnerability analysis and mitigation

Overview

CVE-2026-82251 is a path traversal vulnerability in gitoxide (a Rust-based Git implementation by GitoxideLabs) that allows attackers to redirect submodule repository resolution outside the intended .git/modules directory. Versions before 0.52.1 (and before 0.82.0 in a separate version line) are affected. The vulnerability was published on August 28, 2026, with a patch released the same day. It carries a CVSS v3.1 score of 7.5 (High) and a CVSS v4.0 score of 8.7 (High) (GitHub Advisory, GHSA-fr8x-3vfx-f45h).

Technical details

The root cause is classified as CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). In gix-submodule/src/access.rs, submodule names are read directly from .gitmodules configuration without validation, and in gix/src/submodule/mod.rs, the git directory is derived by concatenating common_dir().join("modules").join(name) with no confinement check. A crafted submodule name such as ../../../escaped-target.git traverses out of .git/modules after path normalization, causing both state() and open() to operate on an attacker-chosen repository path. A proof-of-concept (PoC) zip archive (pocs.zip) was included in the original security advisory, demonstrating that repository_exists=true and submodule_opened=true are returned for the traversed path (GHSA-fr8x-3vfx-f45h).

Impact

Successful exploitation allows an unauthenticated attacker to redirect gitoxide's submodule inspection functions (state() and open()) to arbitrary repository paths outside .git/modules, enabling disclosure of repository contents from unintended filesystem locations. The primary impact is high confidentiality loss — callers that enumerate, inspect, or operate on submodules can be steered into using an attacker-controlled repository object. No integrity or availability impact has been demonstrated; remote code execution has not been claimed from this behavior alone (GHSA-fr8x-3vfx-f45h, GitHub Advisory).

Exploitability

A PoC was included in the original security advisory (attached as pocs.zip), and NVD's SSVC assessment classifies exploitation as "poc" with automatable attack potential. The EPSS score is approximately 0.387% (32nd percentile), indicating a relatively low near-term exploitation probability. No in-the-wild exploitation has been observed, and the vulnerability is not listed in the CISA KEV catalog. The attack requires no authentication, no user interaction, and no special privileges — only the ability to supply a malicious .gitmodules file to a target processing submodules with gitoxide (GitHub Advisory, GHSA-fr8x-3vfx-f45h).

Exploitation steps

  1. Craft a malicious repository: Create a Git repository containing a .gitmodules file with a submodule name that includes path traversal segments, e.g., [submodule "../../../escaped-target.git"] with a corresponding URL.
  2. Place attacker-controlled repository: Ensure a repository exists at the traversal target path (e.g., artifacts/escaped-target.git) on the victim's filesystem, or rely on an existing repository at a predictable location.
  3. Deliver the malicious repository: Host the crafted repository on a server or share it with a victim who will clone or process it using a gitoxide-based tool (e.g., gix clone or an application using the gitoxide Rust crate).
  4. Trigger submodule processing: When the victim's gitoxide-based application processes submodules (e.g., via Submodule::state() or Submodule::open()), the unvalidated name is joined directly to the modules path, resolving to the attacker-chosen path outside .git/modules.
  5. Achieve repository redirection: The application now operates on the attacker-chosen repository — state() reports repository_exists=true for the traversed path and open() returns a repository object backed by that path, enabling inspection and disclosure of its contents (GHSA-fr8x-3vfx-f45h).

Indicators of compromise

  • File System: Presence of .gitmodules files containing submodule names with path traversal sequences (e.g., ../, ..\, or URL-encoded equivalents); unexpected repository directories outside .git/modules being accessed or created.
  • Logs: Application logs from gitoxide-based tools showing submodule paths resolving to locations outside the expected .git/modules/ directory; errors or unexpected success messages from state() or open() calls referencing paths with traversal segments.
  • Process: Rust applications using the gitoxide crate accessing filesystem paths outside the repository's .git/modules directory during submodule enumeration or inspection operations (GHSA-fr8x-3vfx-f45h).

Mitigation and workarounds

Upgrade gitoxide to version 0.52.1 or later (or 0.82.0 or later for the parallel version line), which adds validation and confinement checks for submodule names before they are used as filesystem path components. As a workaround, restrict git operations to trusted repositories only and avoid processing untrusted .gitmodules files with gitoxide-based tools. Additionally, implement input validation to reject submodule names containing path traversal sequences (../, ..\) or path separators before passing them to gitoxide APIs (GHSA-fr8x-3vfx-f45h, GitHub Advisory).

Community reactions

The vulnerability was reported by security researcher N0zoM1z0 and published by the gitoxide maintainer (Byron) via GitHub Security Advisories. Brief mentions appeared on Mastodon and vulnerability aggregator sites shortly after disclosure, but no significant broader media coverage or notable researcher commentary beyond the advisory itself has been identified (GHSA-fr8x-3vfx-f45h).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

sid

rust-gix: 0.83.0-1

Fixed

trixie

rust-gix

Affected

Ubuntu

Unknown

devel

rust-gix

Unknown

resolute

rust-gix

Unknown

resolute (esm-apps)

rust-gix

Unknown

SourceThis report was generated using AI

Related CBL Mariner vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-6554MEDIUM5.5
  • CBL Mariner logoCBL Mariner
  • libpcap.src
NoYesSep 05, 2026
CVE-2026-6244MEDIUM5.5
  • CBL Mariner logoCBL Mariner
  • libpcap
NoYesSep 05, 2026
CVE-2026-31912MEDIUM5.5
  • CBL Mariner logoCBL Mariner
  • libpcap-devel
NoYesSep 05, 2026
CVE-2026-31911MEDIUM5.5
  • CBL Mariner logoCBL Mariner
  • libpcap
NoYesSep 05, 2026
CVE-2026-18313MEDIUM4.3
  • CBL Mariner logoCBL Mariner
  • libpcap
NoYesSep 05, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management