How to Fix CVE-2025-30066: Security Vulnerability in changed-files
By Sai Kiran Pandrala
| Severity | CVSS 8.6 - High |
|---|---|
| Actively exploited? | Yes, listed in CISA KEV (added 2025-03-18) |
| Affected | changed-files 1 up to (excluding) 46 |
| Fixed in | 46 |
| Type (CWE) | CWE-506: Embedded Malicious Code |
Patch immediately. CISA added CVE-2025-30066 to the Known Exploited Vulnerabilities catalog on 2025-03-18. Federal civilian agencies must remediate by 2025-04-08. Treat every internet-reachable instance as a priority patch.
What is CVE-2025-30066?
CVE-2025-30066 is a Security Vulnerability flaw in tj-actions changed-files. It carries a CVSS base score of 8.6 (high). CISA confirmed real-world exploitation by adding it to the Known Exploited Vulnerabilities catalog on 2025-03-18.
From the source record: 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.)
Why it matters in practice: KEV-listed CVEs draw continuous internet-wide scanning. Any unpatched, internet-reachable installation is on borrowed time. The blast radius depends on how the affected service is exposed. An internet-facing instance with no compensating controls is the highest-risk configuration.
Am I affected?
You are affected if your installation of changed-files matches a version listed in the Affected row above.
Check the installed version of changed-files against the Affected row above. If the version sits at or below the affected range and the vendor patch has not been applied, you are vulnerable.
How to fix CVE-2025-30066
Apply the vendor patch. Target a build at or above: 46. The runnable command set below covers the most common deployment patterns for changed-files.
Generic upgrade path
# Debian / Ubuntu
sudo apt-get update && sudo apt-get install --only-upgrade changed-files
# RHEL / Rocky / Alma
sudo dnf upgrade --security -y
# Windows
# PowerShell:
# winget upgrade --all --silent --accept-package-agreements --accept-source-agreements
# macOS
sudo softwareupdate -i -a -R
After applying the patch
- Restart the service or device so the patched binary loads.
- Confirm the running version matches the Fixed in row using the verification command below.
- Rotate credentials and API keys that the affected service could access if the asset was exposed during the disclosure window.
If you can't patch immediately
Until the patch lands, narrow the attack surface with these runnable controls.
Reduce the attack surface
Restrict network reach to the affected service to the smallest set of hosts that must access it. On Linux:
# Vendor advisory: https://github.com/tj-actions/changed-files/blob/45fb12d7a8bedb4da42342e52fe054c6c2c3fd73/README.md?plain=1#L20-L28
sudo iptables -A INPUT -p tcp --dport <service-port> -s 10.10.10.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport <service-port> -j DROP
On Windows:
# Vendor advisory: https://github.com/tj-actions/changed-files/blob/45fb12d7a8bedb4da42342e52fe054c6c2c3fd73/README.md?plain=1#L20-L28
New-NetFirewallRule -DisplayName "Block CVE-2025-30066 inbound" -Direction Inbound -Action Block -Protocol TCP -LocalPort <service-port>
Mitigations are temporary. Apply the vendor patch as soon as a maintenance window opens.
How to verify the fix worked
Confirm the patched build is the one actually running.
Run the product's --version or about command and compare against the Fixed in row (46). Re-run an authenticated vulnerability scan and confirm the scanner no longer flags CVE-2025-30066.
Also worth doing: pull recent log windows for any indicators of compromise listed in the vendor advisory, and re-run an authenticated vulnerability scan with up-to-date signatures.
Frequently asked questions
Related fixes
Other vulnerabilities in the same area that are worth patching alongside this one:
- How to Fix CVE-2025-1638: Authentication Bypass in Alloggio Membership — Authentication Bypass in Alloggio Membership
- How to Fix CVE-2025-26399: SolarWinds Web Help Desk Unauthenticated Deserialization — SolarWinds Web Help Desk Unauthenticated Deserialization
- How to Fix CVE-2025-3835: CWE-434 Unrestricted Upload of File with Dangerous Type in Exchange Reporter Plus , CWE-434 Unrestricted Upload of File with Dangerous Type in Exchange Reporter Plus
- How to Fix CVE-2025-8875: Deserialization RCE in N-central , Deserialization RCE in N-central
- How to Fix CVE-2025-33222: CWE-798 Use of Hard-coded Credentials in Isaac Launchable , CWE-798 Use of Hard-coded Credentials in Isaac Launchable
Is CVE-2025-30066 being exploited in the wild?
Yes. CISA added CVE-2025-30066 to the Known Exploited Vulnerabilities catalog on 2025-03-18. KEV listing means at least one confirmed real-world exploitation report exists.
Do I have to take downtime to patch?
For most tj-actions changed-files deployments, the patched build needs a service restart or device reboot. HA pairs and clusters can roll the upgrade by patching the standby first, failing over, then patching the former primary.
Will a WAF or IDS rule alone close CVE-2025-30066?
No. Network filters cut down opportunistic scans but they do not remove the flaw. The vendor patch is the only durable fix.
How quickly should I act on CVE-2025-30066?
Within the standard patch cycle if the asset is internal-only. Inside one to two weeks for any internet-facing instance, sooner if compensating controls are not in place.
References
- Official vendor advisory: Additional References: https://github.com/tj-actions/changed-files/blob/45fb12d7a8bedb4da42342e52fe054c6c2c3fd73/README.md?plain=1#L20-L28
- NVD entry: https://nvd.nist.gov/vuln/detail/CVE-2025-30066
- CISA KEV catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- CISA KEV entry: "tj-actions/changed-files GitHub Action Embedded Malicious Code Vulnerability" - added 2025-03-18, due 2025-04-08
- Additional reference: https://blog.gitguardian.com/compromised-tj-actions/
- Additional reference: https://github.com/chains-project/maven-lockfile/pull/1111
- Additional reference: https://github.com/espressif/arduino-esp32/issues/11127
- Additional reference: https://github.com/github/docs/blob/962a1c8dccb8c0f66548b324e5b921b5e4fbc3d6/content/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions.md?plain=1#L191-L193
*Assembled from the official vendor advisory, the NVD record, and the CISA KEV listing on 2026-05-25. Always confirm against the vendor advisory before applying changes in production.*