Skip to content
GitHubGHSA-8h78-hpm7-29gg

Safe-output artifacts may expose CI trigger tokens

Critical9.1Published Aug 27, 2026

gh-aw versions 0.83.3 through 0.85.3 generated workflows whose safe-output jobs captured raw process stdout and stderr in the safe-outputs-items artifact. When a workflow configured with `GH_AW_CI_TRIGGER_TOKEN` executed the `create-pull-request` or `push-to-pull-request-branch` safe output, a credential-bearing git config command could be written to stdout. The resulting artifact contained a Base64-encoded Git authorization header. Because the output was saved before GitHub Actions runner masking occurred, normal secret masking did not protect the artifact. Anyone able to download an affected artifact could decode the authorization header and recover the CI trigger token. Exposure requires: - A non-empty `GH_AW_CI_TRIGGER_TOKEN`. - Execution of an affected create or push safe-output path. - Access to the resulting workflow artifact. Impact depends on the token’s permissions, lifetime, and repository scope. Staged, cross-repository, or skipped safe-output paths are not affected. ## Remediation Upgrade to gh-aw v0.85.4 or later, run `gh aw upgrade`, and commit all regenerated `.lock.yml` files. Upgrading the locally installed CLI without regenerating the workflows does not re...

GitHub advisory

Affected versions

PackageAffectedFixed in
gh-aw
Product
>= 0.83.3, < 0.85.40.85.4
Details and references

gh-aw versions 0.83.3 through 0.85.3 generated workflows whose safe-output jobs captured raw process stdout and stderr in the safe-outputs-items artifact. When a workflow configured with `GH_AW_CI_TRIGGER_TOKEN` executed the `create-pull-request` or `push-to-pull-request-branch` safe output, a credential-bearing git config command could be written to stdout. The resulting artifact contained a Base64-encoded Git authorization header. Because the output was saved before GitHub Actions runner masking occurred, normal secret masking did not protect the artifact. Anyone able to download an affected artifact could decode the authorization header and recover the CI trigger token. Exposure requires: - A non-empty `GH_AW_CI_TRIGGER_TOKEN`. - Execution of an affected create or push safe-output path. - Access to the resulting workflow artifact. Impact depends on the token’s permissions, lifetime, and repository scope. Staged, cross-repository, or skipped safe-output paths are not affected. ## Remediation Upgrade to gh-aw v0.85.4 or later, run `gh aw upgrade`, and commit all regenerated `.lock.yml` files. Upgrading the locally installed CLI without regenerating the workflows does not replace their SHA-pinned action references. For any affected workflow run: - Delete the corresponding `safe-outputs-items` artifact. - Revoke and rotate any long-lived PAT supplied through `GH_AW_CI_TRIGGER_TOKEN` or `github-token-for-extra-empty-commit`. - Audit repository activity performed using that credential. - Confirm that any short-lived GitHub App installation token or `GITHUB_TOKEN` has expired or been revoked. Treat a long-lived credential as exposed if an affected artifact was available for download. Deleting the artifact does not invalidate copies that may already have been downloaded. ## References - [Fix credential-bearing Git output](https://github.com/github/gh-aw/pull/50636) - [Remove raw process logs from artifacts](https://github.com/github/gh-aw/pull/50739) - [Release v0.85.4](https://github.com/github/gh-aw/releases/tag/v0.85.4) - [Public report](https://github.com/github/gh-aw/issues/50616)

CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Severity from
GitHub (reviewed advisory)
Weakness
CWE-532

More GitHub advisories

All GitHub
Advisory
GitHub Enterprise Server: server-side request forgery
High7.7Sep 1
GitHub Enterprise Server: race condition
High7.7Sep 1
GitHub Enterprise Server: server-side request forgery
High8.2Sep 1
Arbitrary host filesystem & Docker-socket mounts via MCP server `mounts`
Critical9.6Aug 29
gh-aw: github.event.* command injection via heredoc-blind template guardrails (MCP config, all engines)
High8.5Aug 25
GitHub: command injection
High8.5Aug 16

Critical advisories by email

Wednesdays: the week’s critical and high advisories in the AI and data stack, with the fixed versions. Only in weeks that have some.

Double opt-in. Unsubscribe any time.