The team at Git and a range of code repository hosting services that depend upon the Git platform scrambled this week to push out an important security update in the Git ecosystem.
The fix was for a serious vulnerability that would allow attackers to create malicious Git repositories and use them to carry out arbitrary code execution on user's machines. As one of the most popular tools in the modern developer's toolchain, Git powers a number of code repo services, including GitHub, Microsoft Visual Studio Team Services (VSTS), and JGit.
As such, this flaw threatens machines at the heart of the sensitive developer environment. Developers are strongly urged to update their client software with Git 2.17.1. This update is designed to fix the flaw, which is essentially a vulnerability in the way Git configures submodule repository configuration during cloning - a frequent activity in this day and age of Agile, assembly-line development patterns.
In order to ensure developers are putting this security update in place, Git has built in server-side safeguards to mandate sound hygiene from its user base. Part of the rollout includes updates to Git and Git-based hosting services that block users from uploading suspect submodules.
"Git will now refuse to work with repositories that contain a submodule configuration like this," said Edward Thomson, program manager for VSTS in an explainer piece to customers on this latest issue. "And Visual Studio Team Services — along with most other hosting providers — will actively reject you from pushing repositories that contain such a submodule configuration, to help protect clients that haven’t yet upgraded."
The efforts to push this update out offers another success story for GitHub's maturing bug bounty program. Git credits Etienne Stalmans for reporting the issue through the bounty program, which has now entered its fifth year in existence. In an update on its bug bounty progress earlier this spring, GitHub reported that in the last year it has doubled its bug bounty payouts and has seen a significant uptick in the number of valid reports received through the program.
This is good news for an organization that has seen a meteoric growth in its relevance within the enterprise developer community. According to its annual statistics update, GitHub reported that 24 million developers are now using GitHub to host 67 million total code repositories. Among that userbase, 52% of the Fortune 50 and 45% of the Fortune 100 now use GitHub Enterprise.
These usage statistics are a testament to the power and convenience of GitHub, but like any powerfully convenient cloud tool it can come with its security downsides. The developers with Git and GitHub have worked hard to secure the platform itself; this latest update offers evidence of this vigilance. However, GitHub can't always save users from themselves and a lot of the security problems around GitHub have to do with the way users leverage the platform.
Take the high-profile Uber breach of 57 million users' data. Hackers were able to steal that data from the company's GitHub repository because the company was not using multifactor authentication to protect its account and it was storing user login credentials in plaintext within its code repo. These are remarkably prevalent mistakes, as are other problems like embedding private AWS keys within stored code, which can seriously increase the blast radius of breach events.