Trivy Action has a script injection via sourced env file in composite action
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- High
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-78.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Aquasecurity | trivy-action | 0.31.0 to before 0.34.0 | 0.34.0 | Patch available | CNA |
| — | aquasecurity/trivy-action (GitHub Actions) | 0.31.0 to before 0.34.0 | 0.34.0 | Patch available | GHSA-9p44-j4g5-cfx5 |
- trivy-action VendorAquasecurity Affected 0.31.0 to before 0.34.0 Fixed in 0.34.0 Patch available CNA
- aquasecurity/trivy-action (GitHub Actions) Vendor— Affected 0.31.0 to before 0.34.0 Fixed in 0.34.0 Patch available GHSA-9p44-j4g5-cfx5
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:aquasec:trivy_action:*:*:*:*:*:*:*:* | 0.31.0 to before 0.34.1 | Vulnerable | Aquasecurity |
- cpe:2.3:a:aquasec:trivy_action:*:*:*:*:*:*:*:* Versions 0.31.0 to before 0.34.1 Vulnerable ·Aquasecurity
Remediation
- Fix · CNA trivy-action (aquasecurity) Fixed in 0.34.0
- Fix · GHSA-9p44-j4g5-cfx5 aquasecurity/trivy-action (GitHub Actions) Fixed in 0.34.0 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-26189
- 2026-10-03 Alias added: GHSA-9p44-j4g5-cfx5
References
Patch 2
Advisory 2
More Aquasecurity Trivy Action vulnerabilities
- TI-2026-26015 Trivy ecosystem supply chain briefly compromised KEVCVSS 4.0CRITICAL 9.4
Sources
- CVE-2026-26189 · CVE Program
- CVE-2026-26189 · NVD
- FIRST EPSS
- GHSA-9p44-j4g5-cfx5 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences