← back
CVE-2024-32020

Cloning local Git repository by untrusted user allows the untrusted user to modify objects in the cloned repository at will

CVSS 3.9 LOWEPSS 0.5%CWE-281
In short

When cloning a Git repository from another user on the same disk, Git may create hardlinks to files instead of copies. This allows the original owner to secretly modify those files later, potentially corrupting your repository.

Technical detail

Local Git clone operations create hardlinks to source repository objects when both repositories reside on the same filesystem. An untrusted source repository owner can subsequently modify hardlinked objects in the target repository without authorization, compromising repository integrity. Mitigation requires Git version 2.45.1 or later, which avoids hardlinking when source and target owners differ.

Summary generated and translated by AI from the official description.
Git is a revision control system. Prior to versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4, local clones may end up hardlinking files into the target repository's object database when source and target repository reside on the same disk. If the source repository is owned by a different user, then those hardlinked files may be rewritten at any point in time by the untrusted user. Cloning local repositories will cause Git to either copy or hardlink files of the source repository into the target repository. This significantly speeds up such local clones compared to doing a "proper" clone and saves both disk space and compute time. When cloning a repository located on the same disk that is owned by a different user than the current user we also end up creating such hardlinks. These files will continue to be owned and controlled by the potentially-untrusted user and can be rewritten by them at will in the future. The problem has been patched in versions 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2, and 2.39.4.
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:N/I:L/A:L
Affected products
git · git

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →