There's another way it can be exploited. It's very common to pin Actions in workflows these days by their commit hash like this:
- uses: actions/checkout@378343a27a77b2cfc354f4e84b1b4b29b34f08c2
But this commit doesn't even have to belong to the preceding repository. You can reference a commit on a fork. Great way to sneak in an xz-utils style backdoor into critical CI workflows.GitHub just doesn't care about security. Actions is a security disaster and has been for over a decade. They would rather spend years migrating to Azure for no reason and have multiple outages a week than do anything anybody cares about.
Wow. Does the SHA need to belong to a fork of the repo? Or is GitHub just exposing all (public?) repo commits as a giant content-addressable store?
Related: https://trufflesecurity.com/blog/anyone-can-access-deleted-a...