CVE Catalog

CVE-2026-44471

High
Published: Translated: NVD NIST

Summary

In versions prior to 0.21.1, gitoxide, an implementation of git written in Rust, allows for the construction of a malicious tree that enables writing attacker-controlled symlinks into any directory the user has write access to.

Risk Assessment

Organizations may be exposed to attacks that exploit this vulnerability to introduce malicious symlinks, potentially leading to unauthorized access or modification of data.

Recommendation

It is recommended to update gitoxide to version 0.21.1 or later to mitigate this vulnerability and to conduct an audit of directory access within the system.

Other vulnerabilities in gitoxide

See all
Original NVD description (English source)

gitoxide is an implementation of git written in Rust. Prior to 0.21.1, a malicious tree can be constructed that will, when checked out with gitoxide, permit writing an attacker-controlled symlink into any existing directory the user has write access to. During checkout, all symlink index entries are deferred and created after regular files using a single shared gix_worktree::Stack. Internally, this uses a gix_fs::Stack. gix_fs::Stack::make_relative_path_current() caches validated path prefixes: when the previously-processed leaf component exactly matches the leading component(s) of the next path, the leaf-to-directory transition at gix-fs/src/stack.rs invokes only delegate.push_directory(), never delegate.push(). In gix_worktree::stack::delegate::StackDelegate, when the state member is State::CreateDirectoryAndAttributesStack, Attributes::push_directory() only loads attributes (from the ODB, in the clone case), and does not perform any other checks. The on-disk symlink_metadata() check

Vulnerability data from NVD (NIST) · CISA KEV · EPSS