November 20, 2013, 8:24 AM — Popular source code repository service GitHub has recently been hit by a brute-force password-guessing attack that successfully compromised some accounts.
"We sent an email to users with compromised accounts letting them know what to do," GitHub security engineer Shawn Davenport said in a blog post. "Their passwords have been reset and personal access tokens, OAuth authorizations, and SSH keys have all been revoked."
Users were advised to review their account's Security History page for recent changes made to their repositories or failed log-in attempts and to enable two-factor authentication.
GitHub stores passwords securely using the bcrypt function and uses an aggressive rate limit for log-in attempts specifically to block password-guessing attacks, Davenport said. However, in this recent incident almost 40,000 unique Internet Protocol addresses "were used to slowly brute force weak passwords or passwords used on multiple sites."
This suggests that attackers might have taken lists of usernames and passwords leaked from other websites and used a botnet to try them out on GitHub.
A recent data breach at Adobe resulted in a file with the log-in credentials of 150 million users being leaked on the Internet. The passwords in that file were encrypted, but researchers said the encryption method used by Adobe made it possible for attackers to guess many of the passwords.
The exact number of GitHub accounts that had their passwords reset was not disclosed and GitHub did not immediately respond to an inquiry seeking clarification.
"Out of an abundance of caution, some user accounts may have been reset even if a strong password was being used," Davenport said. "Activity on these accounts showed logins from IP addresses involved in this incident."
GitHub plans to implement additional rate-limiting measures and will no longer allow users to log in with "commonly-used weak passwords," Davenport said.
This suggests that in addition to users directly affected by this recent incident, users who used weak passwords might also be forced to change them.
GitHub's sign-up page says passwords need to be at least seven characters long and have at least one lowercase letter and one numeral. Trying some weak passwords that meet that criteria like q1w2e3r4, password1 and iloveyou2 results in a message saying those passwords are "commonly guessed by hackers."
However, the blacklist doesn't seem to be very extensive, as other passwords that are technically weak like password2, 1l0v3y0u or p4ssw0rd are accepted.