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 repositorys 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.
The product does not preserve permissions or incorrectly preserves permissions when copying, restoring, or sharing objects, which can cause them to have less restrictive permissions than intended.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Red Hat Enterprise Linux 8 | RedHat | git-0:2.43.5-1.el8_10 | * |
Red Hat Enterprise Linux 9 | RedHat | git-0:2.43.5-1.el9_4 | * |
Red Hat Enterprise Linux 9.2 Extended Update Support | RedHat | git-0:2.39.5-1.el9_2 | * |
Git | Ubuntu | devel | * |
Git | Ubuntu | esm-infra/bionic | * |
Git | Ubuntu | focal | * |
Git | Ubuntu | jammy | * |
Git | Ubuntu | mantic | * |
Git | Ubuntu | noble | * |
Git | Ubuntu | upstream | * |