From 9e89bf0f818f613c3816d772a562a72d73111196 Mon Sep 17 00:00:00 2001 From: jamiecobbett Date: Tue, 1 Sep 2026 12:25:08 +0100 Subject: [PATCH] Fix release notes shell injection in create_release workflow By interpolating the changelog entry into a double quoted bash string, bash parsed the contents for commands. When the changelog entry included backticks for a code block, bash tried to execute it. Passing via the env context avoids this. --- .github/workflows/auto-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/auto-release.yml b/.github/workflows/auto-release.yml index 323fb853..82622df7 100644 --- a/.github/workflows/auto-release.yml +++ b/.github/workflows/auto-release.yml @@ -60,7 +60,6 @@ jobs: TAG="v${{ steps.version.outputs.version }}" git tag "$TAG" git push origin "$TAG" - NOTES="${{ steps.notes.outputs.notes }}" if [ -n "$(echo "$NOTES" | tr -d '[:space:]')" ]; then gh release create "$TAG" --title "$TAG" --notes "$NOTES" else @@ -68,3 +67,4 @@ jobs: fi env: GITHUB_TOKEN: ${{ secrets.GOCARDLESS_CI_ROBOT_TOKEN }} + NOTES: ${{ steps.notes.outputs.notes }}