# CVE-2026-44471: Gitoxide symlink prefix-reuse worktree escape during checkout

Source: https://junglewise.ai/threats/cve-2026-44471-gitoxide-symlink-prefix-reuse-worktree-escape-during-checkout  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-05-13. Updated: 2026-05-28  
License: CC BY 4.0 with a link back

CVE-2026-44471 · Severity: high · CVSS 7.8 · Published 2026-05-13

gitoxide is a Rust-based implementation of the Git version control system. A vulnerability in how it handles file checkouts allows a malicious repository to create symbolic links (symlinks) outside of the intended project folder. If a user clones or checks out a specially crafted repository, an attacker could overwrite sensitive files or place malicious scripts in system directories, potentially leading to full system compromise or data theft.

Technologies: [GitoxideLabs Gitoxide](https://junglewise.ai/threats/technologies/gitoxide). Vendors: [crates.io](https://junglewise.ai/threats/vendors/crates-io), [GitoxideLabs](https://junglewise.ai/threats/vendors/gitoxidelabs).

## Quick answers

**Is CVE-2026-44471 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-44471 being exploited in the wild.

**How severe is CVE-2026-44471?** High severity, with a CVSS score of 7.8, published 13 May 2026.

**Which products and versions are affected?** gix-fs (crates.io) SEMVER:introduced=0,fixed=0.21.1; GitoxideLabs Gitoxide < 0.21.1; GitoxideLabs Gix-Fs < 0.21.1, <= 0.21.0.

**Is there a fix for CVE-2026-44471?** Yes. gix-fs (crates.io): upgrade to 0.21.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-44471 attacked?** It is attacked with local access, in a software library.

**Am I affected by CVE-2026-44471?** Check whether you run gix-fs (crates.io), GitoxideLabs Gitoxide or GitoxideLabs Gix-Fs at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- gix-fs (crates.io): upgrade to 0.21.1 or later

  ```sh
  cargo update -p gix-fs
  ```


## Technical details

A vulnerability exists in gitoxide's checkout mechanism due to improper path validation in gix_fs::Stack. When processing a tree with duplicate symlink and directory entries, gix_fs::Stack::make_relative_path_current() caches validated path prefixes. If a leaf component matches the leading component of the next path, the system reuses the cached prefix and bypasses the on-disk symlink_metadata() check and unlink-on-collision logic. An attacker can provide a tree containing a symlink followed by a directory with the same name; the subsequent symlink creation follows the first symlink to a location outside the worktree. This can be used to write malicious files (like git hooks or binaries) to any directory the user has write access to. The issue is fixed in version 0.21.1.

## Affected products

- GitoxideLabs gitoxide < 0.21.1
- GitoxideLabs gix-fs < 0.21.1

## Identifiers

- CVE-2026-44471
- GHSA-f89h-2fjh-2r9q

## Timeline

- 2026-04-30: advisory: GitHub Security Advisory published by maintainer
- 2026-05-13: disclosed: CVE-2026-44471 published to NVD
- 2026-05-13: patched: Fix released in version 0.21.1

## References

- [https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f89h-2fjh-2r9q](https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f89h-2fjh-2r9q)

## Related threats

- [gitoxide commit-graph parser denial of service](https://junglewise.ai/threats/cve-2026-123533-gix-commitgraph-before-0-42-0-as-used-in-gitoxide-before-0-61-0)
- [gitoxide gix-fs NTLM credential disclosure via Windows symlink UNC probe](https://junglewise.ai/threats/cve-2026-123532-gix-fs-in-gitoxide-before-0-24-1-contains-a-credential)
- [gitoxide gix-fs path validation bypass in worktree checkout](https://junglewise.ai/threats/cve-2026-100419-gitoxide-gix-fs-before-0-23-0-contains-a-path-validation-bypass)
- [gitoxide symlink following in .gitmodules file](https://junglewise.ai/threats/cve-2026-82252-gitoxide-symlink-following-in-gitmodules-file)
- [gitoxide path traversal in submodule name resolution](https://junglewise.ai/threats/cve-2026-82251-gitoxide-path-traversal-in-submodule-name-resolution)
