CVE-2026-39382
Received
Received - Intake
Command Injection via Unescaped Comment in dbt GitHub Workflow
Publication date: 2026-04-07
Last updated on: 2026-04-07
Assigner: GitHub, Inc.
Description
Description
dbt enables data analysts and engineers to transform their data using the same practices that software engineers use to build applications. Inside the reusable workflow dbt-labs/actions/blob/main/.github/workflows/open-issue-in-repo.yml, the prep job uses peter-evans/find-comment to search for an existing comment indicating that a docs issue has already been opened. The output steps.issue_comment.outputs.comment-body is then interpolated directly into a bash if statement. Because comment-body is attacker-controlled text and is inserted into shell syntax without escaping, a malicious comment body can break out of the quoted string and inject arbitrary shell commands. This vulnerability is fixed with commit bbed8d28354e9c644c5a7df13946a3a0451f9ab9.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| dbt-labs | dbt | * |
| peter-evans | find-comment | to bbed8d28354e9c644c5a7df13946a3a0451f9ab9 (inc) |
| dbt-labs | dbt-core | to bbed8d28354e9c644c5a7df13946a3a0451f9ab9 (inc) |
| peter-evans | find-comment | * |
| github | actions | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-78 | The product constructs all or part of an OS command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended OS command when it is sent to a downstream component. |