CVE-2026-82251: gitoxide before 0.52.1 Path Traversal via Submodule Name
gitoxide before 0.52.1 fails to validate submodule names from .gitmodules configuration, allowing path traversal when deriving submodule git directories. Attackers can craft malicious submodule names with traversal segments to redirect state() and open() functions to repositories outside .git/modules, causing repository confusion and inspection of attacker-controlled repositories.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
gitoxideto a version that resolves this vulnerability.Fixed in 0.52.1 - Compensating control
If you cannot upgrade immediately, restrict or monitor use of untrusted .gitmodules content because gitoxide before 0.52.1 does not validate submodule names from the .gitmodules configuration, which can enable path traversal outside .git/modules.
Event History
Frequently Asked Questions
Which installations are affected?
gitoxide versions before 0.52.1 are affected. Version 0.52.1 and later are not identified as affected by the provided advisory data.
What must an attacker control to exploit this issue?
The attacker must be able to supply or induce processing of a .gitmodules configuration containing a malicious submodule name with path-traversal segments. No authentication or user interaction is required according to the supplied vector.
What is the practical impact of a malicious submodule name?
Traversal segments can cause gitoxide to derive submodule Git directory paths outside .git/modules. This can redirect state() and open() operations to other repositories, resulting in repository confusion and inspection of attacker-controlled repositories.