CVE-2026-26189
highpriority · track · 33EPSS 0.015 · 74 %ileEUUSEPSS · scored 2026-10-27
Trivy Action runs Trivy as GitHub action to scan a Docker container image for vulnerabilities. A command injection vulnerability exists in `aquasecurity/trivy-action` versions 0.31.0 through 0.33.1 due to improper handling of action inputs when exporting environment variables. The action writes `export VAR=<input>` lines to `trivy_envs.txt` based on user-supplied inputs and subsequently sources this file in `entrypoint.sh`. Because input values are written without appropriate shell escaping, attacker-controlled input containing shell metacharacters (e.g., `$(...)`, backticks, or other command substitution syntax) may be evaluated during the sourcing process. This can result in arbitrary command execution within the GitHub Actions runner context. Version 0.34.0 contains a patch for this issue. The vulnerability is exploitable when a consuming workflow passes attacker-controlled data into any action input that is written to `trivy_envs.txt`. Access to user input is required by the malicious actor. Workflows that do not pass attacker-controlled data into `trivy-action` inputs, workflows that upgrade to a patched version that properly escapes shell values or eliminates the `source ./trivy_envs.txt` pattern, and workflows where user input is not accessible are not affected.
cvss
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · medium–high · 5.9–8.1
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (2)
Products and version ranges known to be affected.
advisories (1)
Vendor and ecosystem advisories describing this.
- GHSA-9p44-j4g5-cfx5Trivy Action has a script injection via sourced env file in composite action2026-02-18ghsa · osvUS
Command Injection in aquasecurity/trivy-action via Unsanitized Environment Variable Export A command injection vulnerability exists in `aquasecurity/trivy-action` due to improper handling of action inputs when exporting environment variables. The action writes `export VAR=<input>` lines to `trivy_envs.txt` based on user-supplied inputs and subsequently sources this file in `entrypoint.sh`. Because input values are written without appropriate shell escaping, attacker-controlled input containing shell metacharacters (e.g., `$(...)`, backticks, or other command substitution syntax) may be evaluated during the sourcing process. This can result in arbitrary command execution within the GitHub Actions runner context. **Severity:** Moderate CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N CWE-78: Improper Neutralization of Special Elements used in an OS Command (‘OS Command Injection’) **Impact:** Successful exploitation may lead to arbitrary command execution in the CI runner environment. **Affected Versions:** * Versions >= 0.31.0 and <= 0.33.1 * Introduced in commit `7aca5ac` **Affected Conditions:** The vulnerability is exploitable when a consuming workflow passes attacker-controlled data into any action input that is written to `trivy_envs.txt`. Access to user input is required by the malicious actor. A representative exploitation pattern involves incorporating untrusted pull request metadata into an action parameter. For example: ```yaml - uses: aquasecurity/trivy-action@0.33.1 with: output: "trivy-${{ github.event.pull_request.title }}.sarif" ``` If the pull request title contains shell syntax, it may be executed when the generated environment file is sourced. **Not Affected:** * Workflows that do not pass attacker-controlled data into `trivy-action` inputs * Workflows that upgrade to a patched version that properly escapes shell values or eliminates the `source ./trivy_envs.txt` pattern * Workflows where user input is not accessible. **Call Sites:** * `action.yaml:188` — `set_env_var_if_provided` writes unescaped `export` lines * `entrypoint.sh:9` — sources `./trivy_envs.txt`
also known as (3)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (10)
External citations — patches, advisories, analysis.
- https://github.com/aquasecurity/trivy-action/commit/7aca5acc9500b463826cc47a47a65ad7d404b045cnnvd
- https://github.com/aquasecurity/trivy-action/commit/bc61dc55704e2d5704760f3cdab0d09acf16e4cacnnvd
- https://github.com/aquasecurity/trivy-action/releasesPatchcnnvd
- https://github.com/aquasecurity/trivy-action/security/advisories/GHSA-9p44-j4g5-cfx5cnnvd
- https://github.com/aquasecurity/trivy-action/commit/7aca5acc9500b463826cc47a47a65ad7d404b045enisa_euvd
- https://github.com/aquasecurity/trivy-action/commit/bc61dc55704e2d5704760f3cdab0d09acf16e4caenisa_euvd
- https://github.com/aquasecurity/trivy-action/security/advisories/GHSA-9p44-j4g5-cfx5enisa_euvd
- https://github.com/aquasecurity/trivy-action/commit/7aca5acc9500b463826cc47a47a65ad7d404b045Patchnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan