A path traversal vulnerability in gitoxide allows unvalidated submodule names from .gitmodules to escape the intended .git/modules directory. This causes Submodule::state() and Submodule::open() to operate on attacker-chosen repository paths outside the modules directory. The issue arises because submodule names are directly used as filesystem path components without confinement checks or normalization. This can lead to repository confusion where operations on submodules are redirected to unintended repositories. No direct code execution is claimed, but the impact is significant repository redirection.