Users with weak SSH keys had access to GitHub repositories for popular projects

GitHub revoked the keys, but it's not clear if they were ever abused by attackers

A number of high-profile source-code repositories hosted on GitHub could have been modified using weak SSH authentication keys, a security researcher has warned.

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.

Earlier this year, researcher 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.

The researcher collected 1,376,262 public SSH keys from GitHub and determined that 97.7 percent of them used the RSA algorithm. For RSA, the currently recommended size is 2048 bits, while the strength of 1024-bit keys is debatable and they are in the process of being deprecated.

Cox determined that 93.9 percent of the RSA-based public SSH keys he found on GitHub had 2048 bits, and around four percent had 1024 bits. He found 2 keys that had only 256 bits and 7 that had 512 bits, which would have been easy to break.

However, those small-sized keys were not the biggest problem. He found many other keys that were weak because of a bug in the OpenSSL package distributed with Debian Linux that was identified and patched in May 2008.

The bug was introduced in September 2006 and affected the source of randomness used by the random number generator when generating keys. Because of the flaw, any SSH and SSL keys created on Debian during that 20-month period had only 32,767 possibilities for every CPU architecture, key size, and key type.

Because it was easy for attackers to exploit this situation and break into systems using legitimate user accounts, the Debian developers and the security research community advised everyone who was possibly affected at the time to regenerate their keys.

However, it seems that a lot of people didn't listen and those weak keys are still used today, which is what Cox found when he compared the keys he gathered from GitHub to a key blacklist based on the Debian bug.

"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."

In addition to their own repositories, some of the users with weak keys had access to third-party projects including "Spotify's public repos, Yandex's public repos, crypto libraries for Python, Python's core, Django, gov.uk public repos, Couchbase and a ruby gem that is used on a large amount of CI systems," according to Cox.

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.

"If you have just/as of late gotten an email about your keys being revoked, this is because of me, and if you have, you should really go through and make sure that no one has done anything terrible to you, since you have opened yourself to people doing very mean things to you for what is most likely a very long time," Cox said in his blog post.

Join the CSO newsletter!

Error: Please check your email address.

Tags intrusionGitHubsecurityAccess control and authenticationencryption

More about DebianLinuxRSASpotifySSH

Show Comments

Featured Whitepapers

Editor's Recommendations

Solution Centres

Stories by Lucian Constantin

Latest Videos

  • 150x50

    CSO Webinar: The Human Factor - Your people are your biggest security weakness

    ​Speakers: David Lacey, Researcher and former CISO Royal Mail David Turner - Global Risk Management Expert Mark Guntrip - Group Manager, Email Protection, Proofpoint

    Play Video

  • 150x50

    CSO Webinar: Current ransomware defences are failing – but machine learning can drive a more proactive solution

    Speakers • Ty Miller, Director, Threat Intelligence • Mark Gregory, Leader, Network Engineering Research Group, RMIT • Jeff Lanza, Retired FBI Agent (USA) • Andy Solterbeck, VP Asia Pacific, Cylance • David Braue, CSO MC/Moderator What to expect: ​Hear from industry experts on the local and global ransomware threat landscape. Explore a new approach to dealing with ransomware using machine-learning techniques and by thinking about the problem in a fundamentally different way. Apply techniques for gathering insight into ransomware behaviour and find out what elements must go into a truly effective ransomware defence. Get a first-hand look at how ransomware actually works in practice, and how machine-learning techniques can pick up on its activities long before your employees do.

    Play Video

  • 150x50

    CSO Webinar: Get real about metadata to avoid a false sense of security

    Speakers: • Anthony Caruana – CSO MC and moderator • Ian Farquhar, Worldwide Virtual Security Team Lead, Gigamon • John Lindsay, Former CTO, iiNet • Skeeve Stevens, Futurist, Future Sumo • David Vaile - Vice chair of APF, Co-Convenor of the Cyberspace Law And Policy Community, UNSW Law Faculty This webinar covers: - A 101 on metadata - what it is and how to use it - Insight into a typical attack, what happens and what we would find when looking into the metadata - How to collect metadata, use this to detect attacks and get greater insight into how you can use this to protect your organisation - Learn how much raw data and metadata to retain and how long for - Get a reality check on how you're using your metadata and if this is enough to secure your organisation

    Play Video

  • 150x50

    CSO Webinar: How banking trojans work and how you can stop them

    CSO Webinar: How banking trojans work and how you can stop them Featuring: • John Baird, Director of Global Technology Production, Deutsche Bank • Samantha Macleod, GM Cyber Security, ME Bank • Sherrod DeGrippo, Director of Emerging Threats, Proofpoint (USA)

    Play Video

  • 150x50

    IDG Live Webinar:The right collaboration strategy will help your business take flight

    Speakers - Mike Harris, Engineering Services Manager, Jetstar - Christopher Johnson, IT Director APAC, 20th Century Fox - Brent Maxwell, Director of Information Systems, THE ICONIC - IDG MC/Moderator Anthony Caruana

    Play Video

More videos

Blog Posts

Market Place