Github has ignited a firestorm after the Microsoft-owned code-sharing repository removed a proof-of-concept exploit for critical vulnerabilities in Microsoft Exchange that have led to as many as 100,000 server infections in recent weeks.
ProxyLogon is the name researchers have given both to the four Exchange vulnerabilities under attack in the wild and the code that exploits them. Researchers say that Hafnium, a state-sponsored hacking group based in China, started exploiting ProxyLogon in January, and within a few weeks, five other APTs—short for advanced persistent threat groups—followed suit. To date, no fewer than 10 APTs have used ProxyLogon to target servers around the world.
Microsoft issued emergency patches last week, but as of Tuesday, an estimated 125,000 Exchange servers had yet to install it, security firm Palo Alto Networks said. The FBI and the Cybersecurity and Infrastructure Security Agency have warned that ProxyLogon poses a serious threat to businesses, nonprofits, and government agencies that remain vulnerable.
On Wednesday, a researcher published what’s believed to be the first largely working proof-of-concept exploit for the vulnerabilities. Based in Vietnam, the researcher also published a post on Medium describing how the exploit works. With a few tweaks, hackers would have most of what they needed to launch their own in-the-wild RCEs, security speak for remote code execution exploits.
Publishing PoC exploits for patched vulnerabilities is a standard practice among security researchers. It helps them understand how the attacks work so that they can build better defenses. The open source Metasploit hacking framework provides all the tools needed to exploit tens of thousands of patched exploits and is used by black hats and white hats alike.
Within hours of the PoC going live, however, Github removed it. By Thursday, some researchers were fuming about the takedown. Critics accused Microsoft of censoring content of vital interest to the security community because it harmed Microsoft interests. Some critics pledged to remove large bodies of their work on Github in response.
“Wow, I am completely speechless here,” Dave Kennedy, founder of security firm TrustedSec, wrote on Twitter. “Microsoft really did remove the PoC code from Github. This is huge, removing a security researchers code from GitHub against their own product and which has already been patched.”
Wow, I am completely speechless here.
Microsoft really did remove the PoC code from Github.
This is huge, removing a security researchers code from GitHub against their own product and which has already been patched.
This is not good. https://t.co/yqO7sebCSU
— Dave Kennedy (@HackingDave) March 11, 2021
TrustedSec is one of countless security firms that has been overwhelmed by desperate calls from organizations hit by ProxyLogon. Plenty of Kennedy’s peers agreed with his sentiments.
“Is there a benefit to metasploit, or is literally everyone who uses it a script kiddie?” said Tavis Ormandy, a member of Google’s Project Zero, a vulnerability research group that regularly publishes PoCs almost immediately after a patch becomes available. “It’s unfortunate that there’s no way to share research and tools with professionals without also sharing them with attackers, but many people (like me) believe the benefits outweigh the risks.
Is there a benefit to metasploit, or is literally everyone who uses it a script kiddie? It’s unfortunate that there’s no way to share research and tools with professionals without also sharing them with attackers, but many people (like me) believe the benefits outweigh the risks.
— Tavis Ormandy (@taviso) March 11, 2021
Some researchers claimed Github had a double standard that allowed PoC code for patched vulnerabilities affecting other organizations’ software but removed them for Microsoft products. Microsoft declined to comment, and Github didn’t respond to an email seeking comment.
A dissenting view
Marcus Hutchins, a security researcher at Kryptos Logic, pushed back on those critics. He said Github has indeed removed PoCs for patched vulnerabilities affecting non-Microsoft software. He also made a case for Github removing the Exchange exploit.
“I’ve seen Github remove malicious code before, and not just code targeted at Microsoft products,” he told me in a direct message. “I highly doubt MS played any role in the removal and it just simply fell afoul of Github’s ‘Active malware or exploits’ policy in the [terms of service], due to the exploit being extremely recent and the large number of servers at imminent risk of ransomware.”
Responding to Kennedy on Twitter, Hutchins added:
“‘Has already been patched,’” he wrote. “Dude, there’s more than 50,000 unpatched exchange servers out there. Releasing a full ready to go RCE chain is not security research, it’s recklessness and stupid.”
“Has already been patched”. Dude, there’s more than 50,000 unpatched exchange servers out there. Releasing a full ready to go RCE chain is not security research, it’s recklessness and stupid.
— MalwareTech (@MalwareTechBlog) March 11, 2021
A post published by Motherboard provided a statement from Github that confirmed Hutchins’ guess that the PoC was removed because it violated Github terms of service. The statement read:
“We understand that the publication and distribution of proof of concept exploit code has educational and research value to the security community, and our goal is to balance that benefit with keeping the broader ecosystem safe,” the spokesperson said in an email. “In accordance with our Acceptable Use Policies, we disabled the gist following reports that it contains proof of concept code for a recently disclosed vulnerability that is being actively exploited.
The PoC removed from Github remains available on archive sites. Ars isn’t linking to it or the Medium post until more servers are patched.