Software

Devops

Microsoft's GitHub under fire for DDoSing crucial open source project website

A tale of emergency firewalling, a little bit of victim blaming, and workflow scripts gone berserk


This month you may have noticed the servers used by the GMP project – an open source arithmetic library at the heart of GCC and other programs – slowed to a crawl. It was due to a deluge of network traffic, the source of which is quite surprising.

The packets appeared to come from servers associated with Microsoft.

Torbjörn Granlund, principal author of GMP, raised the alarm in a note to the project's mailing list.

"The GMP servers are under attack by several hundred IP addresses owned by Microsoft Corporation," he wrote. "We do not know if this is made with malice by Microsoft, if it is some sort of mistake, or if [it is one] of their cloud customers … running the attack. The attack targets the GMP repo, with thousands of identical requests. The requests are cleverly chosen as to cause heavy system load.

"We're firewalling off all of Microsoft's IP addresses as an emergency response."

The following day, Mike Blacker, director of threat hunting, operations, and response at Microsoft's GitHub, had identified the culprit: a GitHub Actions Workflow that clones a Mercurial repo and has been forked more than 700 of times.

"Microsoft and GitHub have investigated the issue and determined that a GitHub user updated a script within the FFmpeg-Builds project that pulled content from gmplib.org," explained Blacker.

"This build was configured to run parallel simultaneous tests on 100 different types of computers/architectures. This activity does not appear to be nefarious. [GMP] appears to have limited infrastructure that could not sustain the limited, yet simultaneous requests."

GitHub tries to prevent workflows from running on forked repositories. But the workflow clone defense doesn't work consistently.

This is not the first time a software project has cried DDoS due to burdensome traffic demands. In February, 2022, Drew DeVault, founder of SourceHut, described the behavior of Google's Go Module Mirror as a distributed denial of service attack. After two years of complaints from DeVault, Google's Golang team earlier this year agreed to make its software less demanding on other people's computing resources.

Granlund was not entirely satisfied with Blacker's explanation, nor the implied feebleness of the project's server(s) – which, until a recent AMD Epyc 7402P upgrade, had been a not particularly robust Intel Xeon E5-1650 v2.

"Our machine is pretty powerful, it is a server class machine with many cores and lots of RAM, and its connection is 1GbE at a top-class datacenter," he replied.

"This is NOT a legitimate use of any server on the internet. Your reply seems to suggest that it is our fault, that we ought to have more powerful servers to accommodate this behavior. Really?"

That was Saturday, June 17, and Granlund fired off a subsequent missive to Blacker noting that the traffic flood remained ongoing and that he was continuing to block Microsoft addresses in response.

On June 18, the author of the FFmpeg-Builds published a commit to alert developers who fork the repository to adjust their workflow scripts. It checks the origin of the repo and, if not the original, echos a message to the developer's terminal:

When forking this repository to make your own builds, you have to adjust this check.

When doing so make sure to randomize the scheduled cron time above, in order to spread out the various build times as much as possible.

This has been put in place due to the enormous amounts of traffic hundreds/thousands of parallel builds can cause on external infrastructure.

As of last week, the excessive traffic was still an issue.

"Our servers are fully available again, but that's the result of us adding all participating Microsoft network ranges to our firewall," the GMP project explains on its webpage. "We understand that we are far from the first project to take such measures against Github."

They seem to think that they are entitled to bash away at smaller sites

The Register asked Granlund whether he was satisfied with Microsoft-GitHub’s response, and he told us he had only heard once from Blacker.

“I blocked about 40 IP ranges from accessing our web server,” he explained.

“A week after this started, there was still intensive traffic from the same IP addresses, perhaps 100 different Microsoft addresses all in all, belonging to about 40 ranges. The difference was that that traffic just caused minuscule load, and a log line in the firewall.

“Problem solved. I cannot care less if they no longer can access gmplib.org. I find it interesting how little responsibility GitHub-Microsoft assume here. They seem to think that they are entitled to bash away at smaller sites.”

GitHub did not immediately respond to a request for comment. ®

PS: If you noticed TLS-cert-issuing Let's Encrypt's hour-long outage this month, there's a technical analysis here by software engineer and cryptographer Andrew Ayer.

Send us news
46 Comments

Microsoft and GitHub are still trying to derail Copilot code copyright legal fight

And so far, they might succeed: Where's the smoking gun?

Warning: JavaScript registry npm vulnerable to 'manifest confusion' abuse

Failure to match metadata with packaged files is perfect for supply chain attacks

Microsoft's Activision fight with FTC turned up a Blizzard of docs: Here's your summary

Windows PCs in the cloud, spending Sony out of business, mobile woes, and more – and the files to read

These Microsoft Office security signatures are 'practically worthless'

Turns out it's easy to forge documents relying on OOXML

Google formally accuses monopolist Microsoft of trapping people in its cloud

Fight! Fight! Fight!

This Windows update is snarling up some endpoint security tools

Malwarebytes and Trellix upgrades to the rescue

With dead-time dump, Microsoft revealed DDoS as cause of recent cloud outages

Previous claims its own software updates were the issue remain almost, kinda, plausible

Oh, wow. OK. Apple really is making a $3.5K VR ski-mask. Dev tools are now out for it

They weren't kidding about this facial, er, spatial computing thing

Microsoft stole our stolen dark web data, says security outfit

Suit claims Redmond took far more than allowed from Hold's 360M-credential database

Surprise! GitHub finds 92% of developers love AI tools

We're fine being judged by code, now that we're getting an assist

Whose line is it anyway, GitHub? Innovation, not litigation, should answer

If Jesus was my Copilot, what would he do?

FYI: Tor Browser is very much still a thing and getting updates

Version 12.5 brings in Finnish language support, traffic node path visualization and more