A number of high-profile source-code repositories hosted on GitHub could have been modified using weak SSH authentication keys, security researcher Ben Cox has warned.
“The most scary part of this is that anyone could have just looped through all of these keys just trying to SSH into GitHub to see the banner it gives you,” Cox said Tuesday in a blog post. “It would be safe to assume that due to the low barrier of entry for this, the users who have bad keys in their accounts should be assumed to be compromised and anything that allowed that key entry may have been hit by an attacker.”
The potentially vulnerable repositories include those of music streaming service Spotify, the Russian Internet company Yandex, the U.K. government and the Django Web application framework.
Ben Cox collected the public SSH (Secure Shell) keys of users with access to GitHub-hosted repositories by using one of the platform’s features. After an analysis, he found that the corresponding private keys could be easily recovered for many of them.
The SSH protocol uses public-key cryptography, which means that authenticating users and encrypting their connections requires a private-public key pair. The server configured to accept SSH connections from users needs to know their respective public keys and the users need to have the corresponding private keys.
If a strong algorithm and a sufficiently large key size is used, it shouldn’t be possible to recover a private key from a public key. However, that wasn’t what Cox found for a “very large” number of GitHub users, some of whom had SSH access to some large and popular software projects.
Cox said that GitHub was notified and revoked the keys affected by the Debian bug in early May and other low-quality keys in early June.