Feeds

GitHub reinstates Russian who hacked site to expose flaw

Developer was just trying to help...

5 things you didn’t know about cloud backup

GitHub has reinstated the account of a Russian software developer who discovered a series of security flaws involving the code repository that he eventually shamed the site into fixing over the weekend.

Egor Homakov discovered a cryptographically-related security bug on GitHub that allowed attackers to gain administrator access to projects such as Ruby on Rails and scores of others. GitHub itself uses a vulnerable Ruby on Rails application framework, the root cause of the problem, leaving the code repository open to attack. Homakov reported this so-called mass assignment vulnerability on the Rails repository.

Administrators deleted the thread on the bug. Homakov reopened a ticket on the flaw (which involves a failure to failure to properly check incoming form parameters), only to be more or less ignored again.

Tired of these shenanigans, Homakov exploited the bug to add his public key to the Rails project on GitHub, making him an administrator of the project. At this point he could have deleted project histories – or worse. Instead, he overwrote timestamps to post a message under the guise of habitually drunken kleptomaniac robot Bender, of Futurama and e-vote hacking fame, that was dated 1,000 years in the future. He also pushed a new (innocuous) file onto the Rails repository.

Homakov explains what he did in a blog post entitled "Egor, stop hacking GH".

Stirred into action, GitHub acted quickly to suspend Homakov over the harmless hack, which it initially treated as a full-on security attack. It also fixed the vulnerability that had allowed Homakov's hijinks, which would have been avoided if his initial reports were taken seriously.

After reviewing Homakov's activity, wiser counsel prevailed and GitHub restored the Russian software developer's account. In fairness, the suspension only lasted a few hours, and GitHub's initial caution was understandable. A blog post by GitHub explained it was Homakov's actions in exploiting flaws to upload his personal key and make changes to the rails project that earned him a spell in the sin-bin.

There has been some confusion over today's security vulnerability and our policy on responsible disclosure and account suspension that I'd like to clear up.

Three days ago, user @homakov opened an issue on rails/rails about the prevalence of the mass-assignment vulnerability. Two days ago he responsibly disclosed a security vulnerability to us and we worked with him to fix it in a timely fashion. Today, he found and exploited the public key form update vulnerability without responsible disclosure. For this reason we temporarily suspended his account for violation of section A8 of the GitHub Terms of Service pending a full investigation into what happened. Now that we've had a chance to review his activity, and have determined that no malicious intent was present, @homakov's account has been reinstated.

GitHub took the opportunity to refer interested parties to its code on vulnerable disclosure. ®

5 things you didn’t know about cloud backup

Whitepapers

Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
5 things you didn’t know about cloud backup
IT departments are embracing cloud backup, but there’s a lot you need to know before choosing a service provider. Learn all the critical things you need to know.
Why and how to choose the right cloud vendor
The benefits of cloud-based storage in your processes. Eliminate onsite, disk-based backup and archiving in favor of cloud-based data protection.
Top 8 considerations to enable and simplify mobility
In this whitepaper learn how to successfully add mobile capabilities simply and cost effectively.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?