CVE-2022-24765: Uncontrolled search for the Git directory in Git for Windows
A vulnerability was found in Git. This flaw occurs due to Git not checking the ownership of directories in a local multi-user system when running commands specified in the local repository configuration. This allows the owner of the repository to cause arbitrary commands to be executed by other users who access the repository.
Other sources
Git for Windows is a fork of Git containing Windows-specific patches. This vulnerability affects users working on multi-user machines, where untrusted parties have write access to the same hard disk. Those untrusted parties could create the folder C:\.git, which would be picked up by Git operations run supposedly outside a repository while searching for a Git directory. Git would then respect any config in said Git directory. Git Bash users who set GITPS1SHOWDIRTYSTATE are vulnerable as well. Users who installed posh-gitare vulnerable simply by starting a PowerShell. Users of IDEs such as Visual Studio are vulnerable: simply creating a new project would already read and respect the config specified in C:\.git\config. Users of the Microsoft fork of Git are vulnerable simply by starting a Git Bash. The problem has been patched in Git for Windows v2.35.2. Users unable to upgrade may create the folder .git on all drives where Git commands are run, and remove read/write access from those folders as a workaround. Alternatively, define or extend GITCEILINGDIRECTORIES to cover the parent directory of the user profile, e.g. C:\Users if the user profile is located in C:\Users\my-user-name.
Git. A logic issue was addressed with improved state management.
On multi-user machines, Git users might find themselves unexpectedly in a Git worktree, e.g. when there is a scratch space (/scratch/) intended for all users and another user created a repository in /scratch/.git. Merely having a Git-aware prompt that runs git status (or git diff) and navigating to a directory which is supposedly not a Git worktree, or opening such a directory in an editor or IDE such as VS Code or Atom, will potentially run commands defined by that other user via /scratch/.git/config.
— Red Hat
Credit
Affected Software
Remediation
Event History
Parent advisories
This vulnerability appears in the following advisories.
Frequently Asked Questions
What is CVE-2022-24765?
CVE-2022-24765 is a logic issue in Git that has been addressed with improved state management.
Who does the vulnerability CVE-2022-24765 affect?
The vulnerability affects users working on multi-user machines where untrusted parties have write access to the same hard disk.
How can the vulnerability CVE-2022-24765 be exploited?
Untrusted parties could create the folder `C:\.git` on the affected machine, which would be picked up by Git operations.
What is the severity of CVE-2022-24765?
CVE-2022-24765 has a severity rating of 7.8 (High).
How can I fix the vulnerability CVE-2022-24765?
The vulnerability can be fixed by updating Git to version 2.30.3 or above.