-
-
Notifications
You must be signed in to change notification settings - Fork 128
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix test workflow #71
Conversation
Oh, it's not enough. |
NOTE: I will refrain from disclosing the specific vulnerability (i.e., how to get the secret). |
23ead5b
to
8702e44
Compare
Actually there is nothing to gain by getting access to the repo and the threshold to abuse the vulnerability would require some manual work and can not easily be automated. I think we can make the workflow more self-contained. Will get back to you about it after work. |
If I fix the test workflow, a malicious user could get NOTE: For now, the test workflow is broken and do not test the Dockerfiles for merge commits. |
A malicious user could compromise the integrity of the code, or outright delete it. A proof of concept is easy and would take at most a few minutes to write for this repository. Note that I detected this repository using some very simple automated tooling so anyone else could do the same. The current workflow on [the primary branch] is susceptible to leaking both a write token and the |
@webbertakken |
I think it's a nice idea, however we actually need to verify that the machine id is in-tact after any changes. I'm thinking perhaps lets revert and just hardcode the license afterall. |
My suggestion:
Result: https://github.com/game-ci/docker/actions/runs/545523357 |
8702e44
to
22dcdbc
Compare
We can modify the test workflows for |
Yea lets do that. but let's just use the regular machine id to not create extra complexity and potential test-misses for when something actually goes wrong that affects the machine id. I don't feel comfortable messing with machine id just for sake of saving a license that's going to be public anyway. If you remove that part, i'll merge this. |
👍 |
Changes
Fixed: The merged Dockerfile not being tested.Checkout the minimum files needed to test from the merge commit.There is a vulnerability in the pull_request_target event.The files that the workflow depends on (e.g. shellscript) MUST NOT be checked out of the merge commit.https://securitylab.github.com/research/github-actions-preventing-pwn-requestspull_request
event instead of thepull_request_target
event.machine-id
. (This image will not be pushed.)UNITY_LICENSE
.Result: https://github.com/game-ci/docker/actions/runs/545523357
Checklist
EDIT: The test workflow should be stopped.