Skip to main content

gitoxide CVE-2026-82248

| EUVDEUVD-2026-67700 MEDIUM
Improper Link Resolution Before File Access (CWE-59)
2026-08-28 VulnCheck GHSA-r399-grgc-5vpp
6.0
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Host malicious repo with crafted symlink entry
  2. Delivery
    Victim clones repo on Windows with core.symlinks=true
  3. Exploit
    Incremental checkout materializes reparse point at path P
  4. Execution
    Second checkout pass follows reparse point
  5. Persist
    Attacker-controlled blob written to external filesystem path
  6. Impact
    Target file overwritten outside worktree

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Exploitation requires all of the following conditions to be simultaneously true: the victim must be running gitoxide (gix-worktree-state) on Windows; core.symlinks must be set to true (non-default on Windows, must be explicitly configured); the checkout must be incremental rather than a fresh materialization (destination_is_initially_empty: false); and the victim must clone or check out an attacker-controlled repository containing the crafted two-phase symlink/regular-file entry sequence at the same path. Exploitation is limited to Windows due to the NTFS reparse-point mechanism; Linux and macOS users of gitoxide are not affected. The requirement for user-initiated checkout of a malicious repository (UI:P in CVSS 4.0) is an additional friction point that limits opportunistic mass exploitation.

Impact

The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:P, score 6.0) accurately reflects the multi-condition nature of exploitation: network-delivered payload requires high attack complexity, a specific prerequisite configuration (AT:P - core.symlinks=true on Windows), and passive user interaction (the victim must perform a checkout of a malicious repository). The integrity impact to the vulnerable system is rated High (VI:H), meaning successful exploitation yields arbitrary file write, which is a severe primitive - capable of enabling code execution if writeable paths include startup items, DLL directories, or configuration files. However, the real-world risk is meaningfully constrained: gitoxide is a niche Rust-native git client with limited enterprise deployment, core.symlinks is not the default on Windows, and the attack requires a two-phase checkout sequence that only triggers during incremental (not fresh) materializations. No KEV listing and no public POC further reduce near-term exploitation probability. The EPSS score is not provided in the input data, so exploitation probability cannot be quantified numerically. The scope is limited to Windows environments running gitoxide with symlinks explicitly enabled; organizations using standard git-for-windows or libgit2-based tooling are unaffected.

Exploit ScenarioDerived

An attacker publishes a malicious Git repository containing two entries at the same path P: first a symlink entry (mode 120000) whose target resolves to a sensitive path outside the worktree (e.g., a Windows startup folder or application DLL directory), and then a regular-file entry (mode 100644) with attacker-controlled blob content. A Windows developer using gitoxide with core.symlinks=true performs an incremental checkout of that repository - the first pass creates the reparse point, and the second pass writes the blob content through the reparse point to the external path, potentially overwriting a legitimate file and enabling persistent code execution. No public POC is known at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 28, 2026

Arbitrary file write outside the worktree boundary in gix-worktree-state (part of gitoxide) before 0.33.0 on Windows enables an attacker-controlled repository to overwrite files at arbitrary paths on a victim's filesystem. The flaw manifests when gix_worktree_state::checkout() performs an incremental materialization: a malicious repo first places a symlink entry at path P pointing outside the worktree, then a subsequent incremental checkout of a regular-file entry at the same path follows the Windows reparse point and writes attacker-supplied blob content through the link. No public exploit code is identified at time of analysis, and the vulnerability is not listed in the CISA KEV catalog.

RemediationAI

Upgrade gix-worktree-state (and the containing gitoxide crate) to version 0.33.0 or later, as documented in the vendor advisory at https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-pmm9-4h7q-24c8. If an immediate upgrade is not feasible, set core.symlinks=false in Git configuration to disable symlink materialization entirely - this prevents the reparse-point creation that is the prerequisite for exploitation, but will cause symlink entries in repositories to be materialized as plain text files containing the link target path instead, which may break workflows relying on symlinked content. A second workaround is to avoid performing incremental checkouts (always use fresh/exclusive checkout with destination_is_initially_empty: true), though this is an application-level control that may not be easily configurable by end users. Only clone and check out repositories from trusted sources as a general defense until patched.

Affected VersionsENISA

gitoxide 0 <0.55.0
gitoxide 0 <0.49.0
gitoxide 0 <0.33.0
gitoxide 0 <0.86.0

Affected Packages

euvd gitoxide fix: 0.33.0, 0.49.0, 0.55.0, 0.86.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

gitoxide (cpe:2.3:a:gitoxidelabs:gitoxide) is a pure-Rust reimplementation of Git. The affected component, gix-worktree-state, handles materializing working-tree entries during checkout. CWE-59 (Improper Link Resolution Before File Access, 'Link Following') is the root cause: when destination_is_initially_empty is false (incremental/non-exclusive mode), the checkout logic does not validate whether an already-materialized path is a symlink before writing a subsequent regular-file entry through it. On Windows, Git symlinks are implemented as NTFS reparse points, and the OS transparently follows them during write operations. The attack requires core.symlinks=true, which on Windows is non-default for most users but can be enabled explicitly or via repository configuration. The vulnerability is Windows-specific because Unix implementations handle symlink traversal differently during file creation.

Know when Gitoxide gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.0 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

Network-delivered via malicious repo; high complexity due to multi-condition prerequisites; no auth needed to publish repo; user must initiate checkout; scope changes as writes land outside worktree boundary.

3.1 AV:N/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:N
4.0 AV:N/AC:H/AT:P/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
High
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 28, 2026 - 13:17 EUVD
CVE Published
Aug 28, 2026 - 10:49 cve.org
MEDIUM 6.0

DescriptionCVE.org

gix-worktree-state before 0.33.0 (part of gitoxide) allows writing files outside the worktree on Windows. gix_worktree_state::checkout() follows an existing terminal symlink during non-exclusive (incremental) materialization (destination_is_initially_empty: false) when core.symlinks is true. If a symlink entry (mode 120000) is first checked out at a path P pointing outside the worktree, a subsequent incremental checkout of a regular-file entry (mode 100644) at the same path follows the existing reparse point and writes the blob content through the link, overwriting files outside the worktree.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Rare
niche Rust-native git client, minimal enterprise footprint
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2026-40034 HIGH POC
8.5 May 26

Command injection in the gitoxide Rust library (gix-submodule crate before 0.82.0, gix before 0.83.0) allows attackers c

CVE-2026-82253 HIGH
8.7 Aug 28

Path traversal and trust inheritance flaws in gitoxide's Rust crates gix (≤ 0.72.0) and gix-validate (≤ 0.10.0) allow an

CVE-2026-82252 HIGH
8.7 Aug 28

Symlink following in gitoxide before 0.52.1 and the gix crate before 0.83.0 allows an attacker who supplies a malicious

CVE-2026-82251 HIGH
8.7 Aug 28

Path traversal in gitoxide before 0.52.1 and gix before 0.83.0 allows an attacker who supplies a malicious git repositor

CVE-2026-82254 HIGH
8.7 Aug 28

Denial-of-service in gitoxide's gix-pack crate before 0.69.0 exposes Rust Git clients to remote process crashes during c

CVE-2026-82247 HIGH
8.7 Aug 28

Credential exfiltration in gitoxide's gix-transport crate allows a server controlling an HTTP redirect response to steal

CVE-2026-82255 HIGH
7.6 Aug 28

Credential theft in gitoxide's curl-based HTTP transport backend allows attackers to capture authentication tokens (pass

CVE-2026-82250 HIGH
7.1 Aug 28

Index-out-of-bounds panic in gitoxide's gix-packetline library (versions before 0.21.5) allows a malicious Git server to

CVE-2026-91986 MEDIUM
5.3 Sep 15

Control-character injection in gitoxide's gix-transport crate before version 0.59.2 lets crafted git-daemon URLs smuggle

CVE-2026-82249 LOW
2.3 Aug 28

Credential hijacking in gitoxide before 0.38.2 allows remote attackers to redirect credential helper lookups to attacker

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy