Skip to content
Start with Identity
Identity CVE · Other

CVE-2026-33634Trivy release and GitHub Action tags hijacked to steal CI secrets

SWI rating: highCVSS 8.8CISA KEVActively exploited
Product: TrivyVendor: Aqua SecurityCWE-506Disclosed: 2026-03-21Status: Actively exploitedNVD ↗CISA KEV ↗

What broke

On March 19, 2026, an attacker used compromised credentials to publish a malicious Trivy v0.69.4 release, force-push 76 of 77 version tags in aquasecurity/trivy-action and replace all 7 tags in aquasecurity/setup-trivy. Aqua's advisory, published March 21, calls it a continuation of a compromise that began in late February. After the first disclosure on March 1, credential rotation "was not atomic," so the attacker could have used a still-valid token to read the newly rotated secrets and keep access. Malicious v0.69.5 and v0.69.6 images later reached Docker Hub through separately compromised Docker Hub credentials. NVD scores it CVSS 3.1 8.8 and the CWE is CWE-506 (embedded malicious code).

The payload dumped the GitHub Actions Runner.Worker process memory through /proc/<pid>/mem, swept more than 50 paths for SSH keys, AWS, GCP and Azure credentials, Kubernetes tokens and .env files, encrypted the haul and sent it to a typosquatted domain. If that failed and a GitHub PAT was available, it created a public tpcp-docs- repository in the victim's account and uploaded the data there. CISA added it to KEV on March 26, 2026.

Why it matters

A security scanner runs with the same secrets as the pipeline it scans. The tj-actions incident a year earlier used the same moved-tag trick; this one adds a lesson about the publisher's own identities. A rotation that leaves any old token alive is not a rotation, because the attacker reads the new secrets with the old ones. Every CI job is a non-human identity, and a mutable tag decided which code ran with its credentials in memory.

What to do

  • Move to Trivy v0.69.3 or v0.69.2, trivy-action v0.35.0 and setup-trivy v0.2.6, and pin actions to a full commit SHA.
  • Verify binaries and images with cosign, and reference images by digest.
  • Search your GitHub organization for tpcp-docs- repositories and review workflow logs from March 19 to 20, 2026.
  • Replace stored cloud keys in CI with workload identity federation so a memory dump yields short-lived tokens.

After you patch

  • Treat every secret any affected pipeline could read as exposed and rotate it. Revoke old credentials at the same moment you issue new ones. See secrets rotation.

Sources

Last reviewed By SWI Community TeamSuggest a correctionHow we research

Technique

This CVE is an instance of Secrets in repositories and CI. A credential committed to a config file or pasted into a pipeline variable travels with every clone, fork, and log line, and it keeps working for as long as nobody notices it left the vault.

Know a primary source we should add, or a patch status that has changed? Email community@startwithidentity.com. See all briefs in the identity CVE catalog, or volunteer as a CVE Analyst.
Compiled from vendor advisories, NVD, CISA KEV, and public research. CVSS figures can disagree across NVD and the CNA. Confirm affected versions against the vendor advisory before you patch. Independent, community-driven analysis. See the disclaimer.