Full Report
Cybersecurity researchers at Wiz have disclosed a new GitHub Actions workflow injection vulnerability in Snowflake's public snowflakedb/snowflake-connector-net repository that it said could be exploited through a crafted GitHub issue to execute commands in a workflow containing internal Jira credentials. The issue was present in .github/workflows/jira_issue.yml, which ran when a
Analysis Summary
# Vulnerability: GitHub Actions Command Injection in Snowflake Connector
## CVE Details
- **CVE ID**: Not Assigned (As of August 17, 2026)
- **CVSS Score**: Not Officially Scored (Estimated High/Critical based on credential exposure)
- **CWE**: CWE-77: Improper Neutralization of Special Elements used in a Command ('Command Injection')
## Affected Systems
- **Products**: Snowflake Connector for .NET (`snowflake-connector-net` repository)
- **Versions**: Repository state between June 18, 2026, and June 23, 2026.
- **Configurations**: GitHub Actions workflows using the `.github/workflows/jira_issue.yml` file.
## Vulnerability Description
The vulnerability was a command injection flaw within a GitHub Actions workflow. The `jira_issue.yml` workflow was designed to trigger when a public GitHub issue was opened. It improperly expanded untrusted user-controlled data—specifically the GitHub issue title and body—directly into a shell `run:` block using GitHub expression syntax (`${{ github.event.issue.title }}`).
Additionally, a broken security check intended to restrict the workflow to a specific bot (`whitesource-for-github-com[bot]`) failed because it referenced a non-existent property (`github.event.pull_request.user.login`) for an "Issue" event, evaluating to an empty string and allowing any user to trigger the workflow.
## Exploitation
- **Status**: PoC available (Exploited by Wiz researchers during authorized testing).
- **Complexity**: Low
- **Attack Vector**: Network (Remote; via crafted GitHub Issue)
## Impact
- **Confidentiality**: High (Exposure of internal Jira credentials: `JIRA_BASE_URL`, `JIRA_USER_EMAIL`, and `JIRA_API_TOKEN`).
- **Integrity**: High (Ability to execute arbitrary commands within the GitHub Actions runner context).
- **Availability**: Low (No identified impact on the availability of the Snowflake connector itself).
## Remediation
### Patches
- **Repository Fix**: Merged on June 23, 2026, in **Pull Request #1402**.
- The fix involves replacing direct GitHub expression expansion with environment variables passed to `jq` as arguments to ensure proper sanitization.
### Workarounds
- Ensure GitHub Actions workflows do not use `${{ ... }}` expansions directly in shell scripts.
- Use intermediate environment variables for all untrusted input.
## Detection
- **Indicators of Compromise**:
- Review GitHub Actions run history for `jira_issue.yml` between June 18–23, 2026.
- Check for unexpected out-of-band network callbacks from GitHub runner IP ranges.
- Audit Jira logs for unauthorized access via the `[email protected]` service account.
- **Detection Methods**: Static analysis of YAML workflows for direct expression expansion in `run` steps (e.g., using GitHub's own security documentation guidelines).
## References
- **Wiz Research**: hxxps://www[.]wiz[.]io/blog/red-agent-snowflake-copilot-cicd-bug
- **Snowflake Fix (PR #1402)**: hxxps://github[.]com/snowflakedb/snowflake-connector-net/pull/1402
- **GitHub Security Guidance**: hxxps://github[.]blog/security/vulnerability-research/how-to-catch-github-actions-workflow-injections-before-attackers-do/
- **Article Source**: hxxps://thehackernews[.]com/2026/08/snowflake-github-actions-flaw-lets_0330881554[.]html