Researchers at Truffle Security have found, or arguably rediscovered, that data from deleted GitHub repositories (public or private) and from deleted copies (forks) of repositories isn’t necessarily deleted.
Joe Leon, a security researcher with the outfit, said in an advisory on Wednesday that being able to access deleted repo data – such as APIs keys – represents a security risk. And he proposed a new term to describe the alleged vulnerability: Cross Fork Object Reference (CFOR).
“A CFOR vulnerability occurs when one repository fork can access sensitive data from another fork (including data from private and deleted forks),” Leon explained.
For example, the firm showed how one can fork a repository, commit data to it, delete the fork, and then access the supposedly deleted commit data via the original repository.
The researchers also created a repo, forked it, and showed how data not synced with the fork continues to be accessible through the fork after the original repo is deleted. You can watch that particular demo.
Oh god. That means all the spaghetti code that I ever wrote is still out there.
My people!
Not only just out there. I am regenerating your spaghetti code into a new context with copilot 🧑✈️ Your (ai-regenerated) code will be driving our military nuclear launch code base! Congratulations!
What’s so difficult about writing code that checks if you have 8 zeroes?
https://gizmodo.com/for-20-years-the-nuclear-launch-code-at-us-minuteman-si-1473483587
Oh I’m just the cleaning guy, so I don’t really know how to code it myself. We laid off all the developers three weeks ago.
Yup. Along with the code from huge organizations. I always thought it was funny that people put their code online, blindly trusting some random company that got gobbled up by Microsoft.
Your point is valid, but many (most?) enterprises don’t use a forking worlflow, so I suspect open source projects will be hit harder, sadly
Along with every private key that was accidentally committed.
Ha ha, way way back in the day when I didn’t understand how keys worked, I sent a private key to another developer when they asked for my public. They were kind enough to educate me.
As a lifelong troll, I would’ve just generated a new pub key and made a bunch of commits as you. Then two days later, I would tell you what’s up once you had time to process the confusion.