Skip to content

Commit

Permalink
github: prevent script injections via PR branch names
Browse files Browse the repository at this point in the history
Prior this commit, ${{ github.event.workflow_run.head_branch }} got
expanded in the bash script. A malicious actor could inject
an arbitrary shell script. Since this action has access to a token
with write rights the malicious actor can easily steal this token.

This commit moves the expansion into an env block where such an
injection cannot happen. This is the preferred way according to the
github docs:
https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
  • Loading branch information
ondrejbudai authored and achilleas-k committed Dec 3, 2024
1 parent dd8fa2c commit fcf4d68
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion .github/workflows/trigger-gitlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ jobs:

- name: Checkout branch
id: pr_data
env:
BRANCH: ${{ github.event.workflow_run.head_branch }}
run: |
PR_DATA=$(mktemp)
# use uuid as a file terminator to avoid conflicts with data content
Expand All @@ -58,7 +60,7 @@ jobs:
echo "pr_branch=PR-$PR" >> "$GITHUB_OUTPUT"
git checkout -b PR-$PR
else
git checkout ${{ github.event.workflow_run.head_branch }}
git checkout "${BRANCH}"
fi
- name: Push to GitLab
Expand Down

0 comments on commit fcf4d68

Please sign in to comment.