A London-based developer claims he was accidentally given the keys to US broadcaster NBC Universal’s websites – thanks to a username mix up on GitHub.
Glenn Shoosmith was an early adopter of Github, and thus bagged the short-and-sweet user ID Glenn in July 2008.
Repositories can be public and viewable by all, or private and require a repo's administrator to grant someone access using their username. It appears someone at NBC Universal tried adding a worker with the name Glen or Glenn to a private repository, but Shoosmith's username popped up early and was accidentally selected.
That private repo, we're told, contained sensitive configuration files for all NBC Universal web servers – including the "secure Amazon Web Services secret keys and access token to their servers", Shoosmith claims.
In the wrong hands, those credentials could be used to vandalise the media giant's websites, spin up expensive virtual machines for alt-coin mining, distribute malware, and so on, all on NBC's tab.
“'Glenn' is not the most common name in the world, nor is it the most uncommon," Shoosmith, chief exec and cofounder of UK startup BookingBug, explained on his company blog.
"And the problem with GitHub is that if you have a private repository of your code, and want to give access to a colleague or teammate, you simply type their user name. So, occasionally someone just adds 'Glenn' to their project instead of a username like 'Glenn87' and I get notified that I’m suddenly added to someone’s private repository.
"For all of the security NBC has in-house, for all of their layers of protection and passwords, some poor project or IT guy just sent all of the keys to NBC’s servers to the wrong guy in one mistyped username."
Snafus along these lines happen from time to time, but they usually involve someone’s pet project – such as the code for a role-playing game in one instance.
Shoosmith compared this latest cock-up to the discovery of someone's house keys on the pavement, but feared tech-illiterate lawyers wouldn't see it that way.
'What if I'm accused of hacking NBC servers?'
"At this point I’m slightly terrified. What if some NBC lawyer, who doesn’t understand how the internet or cloud services work, suddenly accuses me of hacking their servers?" wondered Shoosmith.
His colleague Niall Giggins said the small biz had notified NBC Universal about the problem – and had not touched the obtained Amazon credentials, not even to test if they were valid.
"Access to the [configuration] repository was closed off eventually. We think it was around 20 to 24 hours after access was accidentally granted," Giggins told The Register today.
"We'd kept away from the account where possible, but did notice it had gone from the drop-down [menu] when Glenn was switching between our own projects the next day."
This blunder, as described, is mostly NBC's fault, but Github could perhaps do more to prevent a reoccurrence of this sort of gaffe, said Giggins.
"The blame for the incident is probably with someone at NBC - hopefully not one that lost them a job over this," he said. "But Github's ease of use features, probably contributed a lot.
"They make it easy to give a user access to an account from an auto-populated drop-down list; so it's easy for a mouse in the wrong place, or hitting enter too early, to add the wrong person."
The incident should be a reminder of the danger of storing sensitive data in cloud services.
"Cloud-based tools are a fantastic way for an organisation of any size to reduce the cost and admin of all kinds of internal and external software platforms," Shoosmith wrote on the day of the alleged cock-up, 14 May. "Used effectively, they can be secure, powerful and easy to manage. However, like any tool, cutting costs and cutting corners leads to risk."
Shoosmith, whose company develops online booking and appointment services, concluded: "As a vendor of cloud software-as-a-service, I’m obviously a big fan and supporter of correctly managed cloud services but, like any tool, cutting costs and reducing security creates risk."
Tim (TK) Keanini, CTO at security tools firm Lancope, said developers have to take care when allowing software to automatically administer other software – keys and tokens authenticating the control software should be secured, specifically.
“This is an all too common problem with automation of any sort," Keanini explained. "If the human is not to be involved where they once were, chances are that trust is being stored in a file and presented at time of authentication. Programmers must assume the worse and properly design around a threat model. Facilities like OAuth take care of this and should be used when providing authentication between two automated processes."
We've asked NBC Universal and GitHub for comment on this reported incident, but we haven't heard back from them. We'll update this story if we hear more. ®