Impact
An unauthenticated attacker can inject arbitrary shell commands into Langflow’s GitHub Actions pipelines by leveraging unsanitized interpolation of user-controlled GitHub context variables. The vulnerability resides in multiple workflow and action files where variables such as `${{ github.head_ref }}` or `${{ github.event.pull_request.title }}` are placed directly inside shell `run:` steps. When these variables contain malicious payloads, the shell expands them unabated, allowing execution of commands that can exfiltrate secrets (e.g., `GITHUB_TOKEN`), deploy malicious containers or modify release artefacts. The flaw aligns with "CWE-74" (Improper Handling of Special Elements) and "CWE-78" (OS Command Injection).
Affected Systems
Vendors: Langflow (langflow-ai). Products: the Langflow open-source repository and any forks that enable GitHub Actions. Version range: any release prior to 1.9.0 is affected; 1.9.0 and later contain the fix that removes unsanitized variable interpolation from the relevant workflow and action files. This includes `.github/actions/install-playwright/action.yml`, `.github/workflows/deploy-docs-draft.yml`, `.github/workflows/docker-build.yml`, `.github/workflows/release_nightly.yml`, `.github/workflows/python_test.yml`, and `.github/workflows/typescript_test.yml`.
Risk and Exploitability
CVSS score of 9.1 marks this flaw as critical; while an EPSS score is not published, the public nature of the vulnerability and the ability to trigger it via a simple branch or pull request make exploitation highly probable. The vulnerability is uncontrolled and remote, enabling attackers to compromise the CI environment of any public repository that uses the affected workflows. Because the attack vector involves no authentication, it is immediately exploitable by any web user with write or pull request rights, with outcomes ranging from secret exfiltration to supply-chain tampering or infrastructure hijacking.
OpenCVE Enrichment