Skip to content
Start with Identity
Identity CVE · Other

CVE-2025-30066tj-actions/changed-files tags repointed to dump CI secrets into logs

high · CVSS 8.6CISA KEVActively exploited
Product: changed-files GitHub ActionVendor: tj-actionsCWE-506Disclosed: 2025-03-15Status: Actively exploitedNVD ↗CISA KEV ↗

What broke

On March 14 and 15, 2025, an attacker modified version tags of the tj-actions/changed-files GitHub Action, v1 through v45.0.7, so they pointed at a malicious commit (0e58ed8). Any workflow that referenced the action by tag ran that code. It downloaded a Python script that read the memory of the GitHub Actions Runner Worker process, base64-encoded the secrets it found, and printed them into the build log. On a public repository those logs are readable by anyone. NVD scores it CVSS 3.1 8.6, and the CWE is CWE-506 (embedded malicious code). The GitHub advisory says more than 23,000 repositories used the action; v46.0.1 is the fixed release.

CISA added it to KEV on March 18, 2025 and listed what the logs could hold: AWS access keys, GitHub personal access tokens, npm tokens and private RSA keys. CISA also said the compromise was potentially enabled by an earlier compromise of reviewdog/action-setup@v1 (CVE-2025-30154).

Why it matters

No password or login was involved. The identities at risk were the pipeline's own credentials: every token and cloud key a workflow could read became readable by whoever watched the log. A CI job is a non-human identity with standing access to registries, clouds and source code, and it trusted a mutable tag to decide which code ran with those secrets in memory. This is the secrets in repositories and CI pattern at scale.

What to do

  • Pin third-party actions to a full commit SHA, not a tag. Tags can be moved; a SHA cannot.
  • Search workflow runs from March 14 and 15, 2025 for changed-files output, and decode any base64 blobs (the advisory gives the command).
  • Replace long-lived cloud keys in CI with short-lived credentials through workload identity federation (GitHub OIDC to AWS, Azure or Google Cloud).
  • Restrict outbound network access from runners so a step cannot fetch a script from an unexpected host.

After you patch

  • Rotate every secret any affected workflow could read, not only the ones you find in logs. See secrets rotation.
  • Review the audit trail of each rotated token for use between March 14, 2025 and the rotation date.

Sources

In the Identity Breach Database

Breaches in our database where this vulnerability was exploited.

Browse the full database

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.