Vulnerabilidad · Publicado 28/08/2026
gitoxide, conjunto de herramientas Rust para gestión de repositorios Git, contiene una vulnerabilidad de path traversal (CVSS 7.5) en la validación de nombres de submódulos. La función de validación solo verifica la primera ocurrencia de '..', permitiendo nombres manipulados como 'a..b/../../../.git/' eludir el control. Esta validación tampoco se ejecuta en rutas de código de producción, exponiendo sistemas que procesan repositorios Git no confiables a acceso no autorizado de archivos.
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.
Score: 7.5/10 — Severidad: HIGH — Estado NIST: Received
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
CWE-22
Publicado en NIST NVD.