Snowflake GitHub Actions flaw let attackers steal Jira tokens via crafted issue

Cybersecurity researchers at Wiz have disclosed a GitHub Actions workflow injection vulnerability in Snowflake's public snowflakedb/snowflake-connector-net repository. The flaw allowed a crafted GitHub issue to execute commands in a workflow that contained internal Jira credentials.
The vulnerability was present in the .github/workflows/jira_issue.yml file, which triggered when a public issue was opened. It exposed JIRA_BASE_URL, JIRA_USER_EMAIL, and JIRA_API_TOKEN to the same workflow step. The weakness was confined to the repository's CI/CD automation, and no affected Snowflake Connector for .NET release was identified.
The workflow inserted attacker-controlled issue title and body values directly into a shell run: block. It also checked github.event.pull_request.user.login even though the event was an issue, meaning the referenced pull request property did not exist. GitHub states that attempting to dereference a nonexistent property evaluates to an empty string. In this case, the comparison against whitesource-for-github-com did not prevent an ordinary issue from reaching the job.
Wiz said its Red Agent system exploited the injection during authorized security testing. The first payload resulted in a shell syntax error, prompting the system to change its approach. The researchers subsequently received an out-of-band callback from the GitHub Actions runner and obtained the Jira API token used by the workflow.
According to Wiz, the token belonged to the account qa@snowflake.net and granted read access to Jira projects covering engineering, security compliance, and the bug bounty program. The disclosure highlights the risks of using untrusted input in GitHub Actions workflows, even when the input originates from public issues rather than pull requests.


