ZeroHour

CVE-2025-30066

KEV PoC ×2large

Supply Chain Compromise of tj-actions/changed-files GitHub Action Exposes CI/CD Secrets

CISA: tj-actions/changed-files GitHub Action Embedded Malicious Code Vulnerability

CVSS 3.1
8.6 high
EPSS
70%p99
Published
()
KEV added
AI analysis

CVE-2025-30066 is not a traditional code bug but a supply chain compromise: on 2025-03-14 and 2025-03-15, a threat actor modified the code behind every published tag (v1 through v45.0.7) of the widely used tj-actions/changed-files GitHub Action to point at commit 0e58ed8, which contained malicious 'updateFeatures' code. The flaw is triggered whenever a GitHub Actions workflow invokes any of these affected tags during the compromise window; the embedded code dumps the runner's environment variables into the workflow logs. Anyone able to read the actions logs — including public logs on public repositories — can discover repository secrets such as GitHub tokens, API keys, and cloud credentials, enabling account takeover and lateral movement. Public reporting indicates roughly 23,000 repositories/organizations were affected, with Coinbase initially targeted and 218 of its repositories' CI/CD secrets exposed; the attack was traced back to a compromised GitHub token. Exploitation is confirmed in the wild: CISA added the flaw to its Known Exploited Vulnerabilities catalog on 2025-03-18, and both GitGuardian and StepSecurity published detection and incident analyses.

What to do: Update workflows from tj-actions/changed-files to v46 or later, or better, pin the action to a verified commit SHA rather than a mutable tag. Review all workflow run logs generated between 2025-03-14 and 2025-03-15 for dumped environment variables and rotate every credential that could have been exposed (GitHub PATs, cloud keys, deploy tokens), checking downstream systems and logs for abuse of those secrets.

Affected
tj-actions changed-filesall published tags v1 through v45.0.7 (i.e., every version before v46), as pinned by workflow tags; fixed in v46 or by pinning to a known-good commit
Estimated exposure
large≈23,000+ repositories and their organizations (public incident reporting counted over 23,000 affected repositories) — Public analyses of the compromise (GitGuardian, StepSecurity, press coverage) counted roughly 23,000 repositories/organizations using the compromised action during the 2025-03-14/15 window; total install base of the action across GitHub is…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

tj-actions changed-files before 46 allows remote attackers to discover secrets by reading actions logs. (The tags v1 through v45.0.7 were affected on 2025-03-14 and 2025-03-15 because they were modified by a threat actor to point at commit 0e58ed8, which contained malicious updateFeatures code.)

CISA Known Exploited Vulnerability
Affected
tj-actions changed-files GitHub Action
Required action
Apply mitigations as set forth in the CISA instructions linked below. Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Due date
Ransomware use
Unknown
Vendors
tj-actions
Products
changed-files
Weakness
CWE-506
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N

In the news