Git is an open source, scalable, distributed revision control system. Versions prior to 2.30.6, 2.31.5, 2.32.4, 2.33.5, 2.34.5, 2.35.5, 2.36.3, and 2.37.4 are subject to exposure of sensitive information to a malicious actor. When performing a local clone (where the source and target of the clone are on the same volume), Git copies the contents of the sources $GIT_DIR/objects
directory into the destination by either creating hardlinks to the source contents, or copying them (if hardlinks are disabled via --no-hardlinks
). A malicious actor could convince a victim to clone a repository with a symbolic link pointing at sensitive information on the victims machine. This can be done either by having the victim clone a malicious repository on the same machine, or having them clone a malicious repository embedded as a bare repository via a submodule from any source, provided they clone with the --recurse-submodules
option. Git does not create symbolic links in the $GIT_DIR/objects
directory. The problem has been patched in the versions published on 2022-10-18, and backported to v2.30.x. Potential workarounds: Avoid cloning untrusted repositories using the --local
optimization when on a shared machine, either by passing the --no-local
option to git clone
or cloning from a URL that uses the file://
scheme. Alternatively, avoid cloning repositories from untrusted sources with --recurse-submodules
or run git config --global protocol.file.allow user
.
The product attempts to access a file based on the filename, but it does not properly prevent that filename from identifying a link or shortcut that resolves to an unintended resource.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Git | Git-scm | * | 2.30.6 (excluding) |
Git | Git-scm | 2.31.0 (including) | 2.31.5 (excluding) |
Git | Git-scm | 2.32.0 (including) | 2.32.4 (excluding) |
Git | Git-scm | 2.33.0 (including) | 2.33.5 (excluding) |
Git | Git-scm | 2.34.0 (including) | 2.34.5 (excluding) |
Git | Git-scm | 2.35.0 (including) | 2.35.5 (excluding) |
Git | Git-scm | 2.36.0 (including) | 2.36.3 (excluding) |
Git | Git-scm | 2.37.0 (including) | 2.37.4 (excluding) |
Git | Git-scm | 2.38.0 (including) | 2.38.0 (including) |
Red Hat Enterprise Linux 8 | RedHat | git-0:2.39.1-1.el8 | * |
Red Hat Enterprise Linux 8.6 Extended Update Support | RedHat | git-0:2.31.8-1.el8_6 | * |
Red Hat Enterprise Linux 9 | RedHat | git-0:2.39.1-1.el9 | * |
Git | Ubuntu | bionic | * |
Git | Ubuntu | devel | * |
Git | Ubuntu | esm-infra/xenial | * |
Git | Ubuntu | focal | * |
Git | Ubuntu | jammy | * |
Git | Ubuntu | kinetic | * |
Git | Ubuntu | lunar | * |
Git | Ubuntu | trusty | * |
Git | Ubuntu | xenial | * |