Presumably they picked the repo because it will auto-merge MRs if they pass testing even without human approvals. Glad they caught it and good work to everyone involved, but I'm gonna file this one under my "fuck around, find out" folder.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
This is why Bobby Tables mom needs her Github account suspended.....
On an unrelated note, don't forget to sanitize your input.
Where's the code that doesn't quote this properly? I'm guessing it's Bash.
Ding ding ding! We have a winner!
It's a third-party GitHub Action that is passing the branch name directly to Bash. So to be clear, not GitHub's fault.
I never considered branch names to be a vector, but in hindsight it makes total sense when put into a workflow like that.
What possibly surprised me even more, was that branch names weren't limited to basic characters or at least no special signs. I obviously see the case for all the extended characters outside the latin alphabet, such as Chinese characters, but I totally expected restrictions on special symbols like "
, '
, /
, \
, ;
, etc.
/
is used to separate the same branch in different repos. For example origin/main
and remote/main
. Surprising that the other stuff is legal though
You can still freely use /
in branch names. Having remote branches available as remote/branch
is just a convenience, and you can delete or modify them locally. It’s common to use /
in branch names, too.
Okay? I'm well aware. I do so all the time
That's true, i didn't think about that when I wrote it.
I'm used to the world being pretty simple though, so for me that slash has always just been a visual representation of the location of the branch if that makes sense. We don't have to have a slash in the branch name, only to use it to represent where that branch is located. It could have been something git only used for presentation.
Terrible title, I thought it was a vulnerability in git.
Pull requests are not a feature of git, you probably thought they were?
Yup, pull requests are an invention from git's servers (I think github came up with that first). The built in way (famously used by the linux kernel) is git-send-email.
GitHub is completely unrelated to git.
git-send-email is not even very similar to a pull request, just tangentially related but very different conceptually.