CyberRota Analysis
AI-GeneratedThe vulnerability affects the gitoxide libraries gix and gix-validate, allowing attackers to exploit a path traversal flaw to craft malicious submodule names that can bypass validation checks. This can lead to unauthorized access to arbitrary git repository configurations, including sensitive credentials, due to trust inheritance issues in the Submodule::open() function. Organizations using these libraries, particularly those handling sensitive data or credentials, should prioritize updating to gix 0.82.0 and gix-validate 0.11.1 to mitigate this risk.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
gitoxide (Rust crates gix <= 0.72.0 and gix-validate <= 0.10.0) contains a path traversal vulnerability. The submodule name validation function in gix-validate only checks the first occurrence of '..' via name.find(b".."), allowing crafted names such as 'a..b/../../../.git/' to bypass the check; additionally this validation is never invoked in production code paths. Combined with a trust inheritance flaw in Submodule::open(), where the parent repository's git_dir_trust (Trust::Full) is cloned and the ownership verification is skipped, an attacker can craft a malicious .gitmodules file so that a victim tool built on gitoxide reads arbitrary git repository configuration (including embedded credentials) with full trust, bypassing safe-directory protections. Fixed in gix 0.82.0 and gix-validate 0.11.1.