Advisory Database
  • Advisories
  • Dependency Scanning
  1. cargo
  2. ›
  3. gix
  4. ›
  5. GHSA-fr8x-3vfx-f45h

GHSA-fr8x-3vfx-f45h: gix and gitoxide: unvalidated submodule name traverses out of .git/modules and redirects state() / open() to another repository

May 5, 2026

attachments: pocs.zip

Submodule names coming from .gitmodules are exposed as unvalidated names and are later reused to derive the submodule git directory as:

<superproject common_dir>/modules/<submodule name>

Because the submodule name is joined directly as a filesystem path component, a name such as ../../../escaped-target.git escapes .git/modules after normalization. The current implementation then uses that escaped path in both state() and open().

The updated PoC demonstrates the real sink, not just string construction:

  • state() reports repository_exists=true for the traversed path;
  • open() returns a repository whose normalized common_dir() matches the attacker-chosen repository outside .git/modules.

References

  • github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-fr8x-3vfx-f45h
  • github.com/advisories/GHSA-fr8x-3vfx-f45h

Code Behaviors & Features

Detect and mitigate GHSA-fr8x-3vfx-f45h with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →

Affected versions

All versions before 0.83.0

Fixed versions

  • 0.83.0

Solution

Upgrade to version 0.83.0 or above.

Impact 7.5 HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

Learn more about CVSS

Weakness

  • CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Source file

cargo/gix/GHSA-fr8x-3vfx-f45h.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sun, 08 Nov 2026 00:15:56 +0000.