Source: rust-gix-fs
Version: 0.16.1-1
Severity: grave
Tags: security upstream
X-Debbugs-Cc: [email protected], Debian Security Team <[email protected]>

Hi,

The following vulnerability was published for rust-gix-fs.

CVE-2026-44471[0]:
| 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 and unlink-on-collision live in
| StackDelegate::push()'s invocation of create_leading_directory(),
| which is therefore bypassed for the cached prefix. The final symlink
| is created with plain std::os::unix::fs::symlink, which follows
| symlinks in parent directories. Therefore, it's possible to provide
| a tree with duplicate symlink and directory entries that exploits
| this. This vulnerability is fixed in 0.21.1.


If you fix the vulnerability please also make sure to include the
CVE (Common Vulnerabilities & Exposures) id in your changelog entry.

For further information see:

[0] https://security-tracker.debian.org/tracker/CVE-2026-44471
    https://www.cve.org/CVERecord?id=CVE-2026-44471
[1] 
https://github.com/GitoxideLabs/gitoxide/security/advisories/GHSA-f89h-2fjh-2r9q

Please adjust the affected versions in the BTS as needed.

Regards,
Salvatore

Reply via email to