A security bug in the official Git client for Windows and Mac might let unauthorized commands to be executed on users’ systems. Fortunately, a patch is already available and all users need to update as soon as possible in order to avoid possible attacks.
This recent bug constitutes such a severe threat because it gives access to Git repositories and it affects all version of the Git client as well as all compatible software. Special attention should be given when cloning or accessing Git repositories that are hosted on dubious locations because this is where the security bug may be hiding.
Operating systems with case-insensitive file systems are those that are affected. The malicious code operates by causing the Git to overwrite its own .git/config file when the system is cloning or checking out a repository.
“The vulnerability concerns Git and Git-compatible clients that access Git repositories in a case-insensitive or case-normalizing filesystem. An attacker can craft a malicious Git tree that will cause Git to overwrite its own
.git/configfile when cloning or checking out a repository, leading to arbitrary command execution in the client machine. Git clients running on OS X (HFS+) or any version of Microsoft Windows (NTFS, FAT) are exploitable through this vulnerability. Linux clients are not affected if they run in a case-sensitive filesystem.”, informs the official statement.
The good news is that github.com is safe because administrators always check the trees in the source code when they are added. Moreover, all content on the repository has been double checked in order to eliminate any possible bug that could have somehow creeped in. However, remain wary of doubtful hosting locations because security verification is faulty there.
We have also completed an automated scan of all existing content on
github.comto look for malicious content that might have been pushed to our site before this vulnerability was discovered. This work is an extension of the data-quality checks we have always performed on repositories pushed to our servers to protect our users against malformed or malicious Git data.