{"id":"CVE-2025-30066","published":"2025-03-15T06:15:12Z","modified":"2026-09-24T13:10:00Z","title":"tj-actions/changed-files GitHub Action Embedded Malicious Code Vulnerability","vendor":"tj-actions","product":"changed-files GitHub Action","tier":"core","eol":null,"description":{"text":"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.)","provenance":"source","from":"NVD"},"summary":{"text":"The tj-actions changed-files GitHub Action, before version 46, contains an embedded malicious code flaw: tags v1 through v45.0.7 were altered to point at a commit containing malicious code. A remote attacker can exploit this over the network without authentication or user interaction to discover secrets exposed in workflow action logs.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-23T07:10:27Z"},"cvss":{"score":8.6,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N","provenance":"source","from":"NVD"},"epss":{"score":0.72092,"percentile":0.99429,"date":"2026-10-29","provenance":"source"},"kev":{"dateAdded":"2025-03-18","dueDate":"2025-04-08","ransomware":false,"requiredAction":"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.","notes":"This vulnerability affects a common open-source project, third-party library, or a protocol used by different products. For more information, please see: CISA Mitigation Instructions: https://www.cisa.gov/news-events/alerts/2025/03/18/supply-chain-compromise-third-party-tj-actionschanged-files-cve-2025-30066-and-reviewdogaction ; Additional References: https://github.com/tj-actions/changed-files/blob/45fb12d7a8bedb4da42342e52fe054c6c2c3fd73/README.md?plain=1#L20-L28 ; https://nvd.nist.gov/vuln/detail/CVE-2025-30066","provenance":"source"},"vulncheckKev":{"dateAdded":"2025-03-14","exploitedFirstSeen":"2025-03-14","ransomware":false,"evidence":[{"url":"https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised","date":"2025-03-14"},{"url":"https://www.wiz.io/blog/github-action-tj-actions-changed-files-supply-chain-attack-cve-2025-30066","date":"2025-03-15"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2025-03-18"},{"url":"https://www.fortiguard.com/threat-signal-report/6052/github-actions-supply-chain-attack","date":"2025-03-25"},{"url":"https://www.loginsoft.com/reports/annually/vulnerability-intelligence-report-2025","date":"2026-01-20"}],"evidenceTotal":5,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 30, 2026","url":"https://otx.alienvault.com/pulse/6ae35d889ea92b4ce19c2680","created":"2026-10-29"},{"name":"Actively_Exploited_Kev | Oct 29, 2026","url":"https://otx.alienvault.com/pulse/6ae20c1db17e7057ae7d9ad1","created":"2026-10-28"},{"name":"Actively_Exploited_Kev | Oct 28, 2026","url":"https://otx.alienvault.com/pulse/6ae0ba7e0e2a97ff7b218819","created":"2026-10-27"},{"name":"Actively_Exploited_Kev | Oct 27, 2026","url":"https://otx.alienvault.com/pulse/6adf68b85c3e852f3c111d18","created":"2026-10-26"},{"name":"Actively_Exploited_Kev | Oct 24, 2026","url":"https://otx.alienvault.com/pulse/6adb740e397c3ad4799aa4cd","created":"2026-10-23"},{"name":"Actively_Exploited_Kev | Oct 23, 2026","url":"https://otx.alienvault.com/pulse/6ada236fcfba2dfa730ea482","created":"2026-10-22"},{"name":"Actively_Exploited_Kev | Oct 22, 2026","url":"https://otx.alienvault.com/pulse/6ad8d33a077cbb5cab524d80","created":"2026-10-21"},{"name":"Actively_Exploited_Kev | Oct 21, 2026","url":"https://otx.alienvault.com/pulse/6ad78130c4d1ac2be83a8b6d","created":"2026-10-20"},{"name":"Actively_Exploited_Kev | Oct 20, 2026","url":"https://otx.alienvault.com/pulse/6ad62f63c24a405a3423cc13","created":"2026-10-19"},{"name":"Actively_Exploited_Kev | Oct 19, 2026","url":"https://otx.alienvault.com/pulse/6ad4dda174e5797d0bd238b7","created":"2026-10-18"}],"provenance":"machine"},"cwes":[{"id":"CWE-506","name":"Embedded Malicious Code"}],"references":[{"url":"https://blog.gitguardian.com/compromised-tj-actions/","tags":["Exploit","Third Party Advisory"]},{"url":"https://github.com/chains-project/maven-lockfile/pull/1111","tags":["Issue Tracking"]},{"url":"https://github.com/espressif/arduino-esp32/issues/11127","tags":["Issue Tracking"]},{"url":"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","tags":["Product"]},{"url":"https://github.com/modal-labs/modal-examples/issues/1100","tags":["Issue Tracking"]},{"url":"https://github.com/rackerlabs/genestack/pull/903","tags":["Issue Tracking"]},{"url":"https://github.com/tj-actions/changed-files/blob/45fb12d7a8bedb4da42342e52fe054c6c2c3fd73/README.md?plain=1#L20-L28","tags":["Product"]},{"url":"https://github.com/tj-actions/changed-files/issues/2463","tags":["Issue Tracking"]},{"url":"https://github.com/tj-actions/changed-files/issues/2464","tags":["Issue Tracking"]},{"url":"https://github.com/tj-actions/changed-files/issues/2477","tags":["Issue Tracking"]},{"url":"https://news.ycombinator.com/item?id=43367987","tags":["Issue Tracking","Third Party Advisory"]},{"url":"https://news.ycombinator.com/item?id=43368870","tags":["Issue Tracking","Third Party Advisory"]},{"url":"https://semgrep.dev/blog/2025/popular-github-action-tj-actionschanged-files-is-compromised/","tags":["Third Party Advisory"]},{"url":"https://sysdig.com/blog/detecting-and-mitigating-the-tj-actions-changed-files-supply-chain-attack-cve-2025-30066/","tags":["Mitigation","Third Party Advisory"]},{"url":"https://web.archive.org/web/20250315060250/https://github.com/tj-actions/changed-files/issues/2463","tags":["Issue Tracking"]},{"url":"https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised","tags":["Exploit","Mitigation","Third Party Advisory"]},{"url":"https://www.stream.security/post/github-action-supply-chain-attack-exposes-secrets-what-you-need-to-know-and-how-to-respond","tags":["Third Party Advisory"]},{"url":"https://www.sweet.security/blog/cve-2025-30066-tj-actions-supply-chain-attack","tags":["Third Party Advisory"]},{"url":"https://www.wiz.io/blog/github-action-tj-actions-changed-files-supply-chain-attack-cve-2025-30066","tags":["Third Party Advisory"]},{"url":"https://www.cisa.gov/news-events/alerts/2025/03/18/supply-chain-compromise-third-party-github-action-cve-2025-30066","tags":["Third Party Advisory","US Government Resource"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-30066","tags":["US Government Resource"]}],"techniques":[{"id":"T1195.002","name":"Compromise Software Supply Chain","tactics":["initial-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: compromised upstream action tags distributed malicious code","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"tags v1 through v45.0.7 were affected","start":109,"end":146}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"},{"id":"T1552.001","name":"Credentials In Files","tactics":["credential-access"],"provenance":"ai","basis":"ai-mapping","bases":["ai-mapping"],"basisDetail":"claude-haiku-5-5: secrets exposed in CI workflow logs","mappingType":"primary_impact","evidence":[{"from":"description","quote":"allows remote attackers to discover secrets by reading actions logs","start":35,"end":102}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[],"affected":[{"ecosystem":"GitHub Actions","package":"tj-actions/changed-files","vulnerableRanges":["<46.0.1"],"patched":["46.0.1"],"from":["GHSA-mrrh-fwg8-r2c3"],"provenance":"source"}],"advisories":[{"id":"GHSA-mrrh-fwg8-r2c3","url":"https://github.com/advisories/GHSA-mrrh-fwg8-r2c3","severity":"HIGH","ecosystem":"GitHub Actions","package":"tj-actions/changed-files","vulnerableRanges":["<46.0.1"],"patched":["46.0.1"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2025-6565","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-6565","exploited":true,"exploitedSince":"2025-03-18","provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":2,"skipped":0,"earliest":"2025-03-18","earliestUrl":"https://github.com/Checkmarx/Checkmarx-CVE-2025-30066-Detection-Tool","repos":[{"name":"Checkmarx/Checkmarx-CVE-2025-30066-Detection-Tool","url":"https://github.com/Checkmarx/Checkmarx-CVE-2025-30066-Detection-Tool","stars":1,"created":"2025-03-18"},{"name":"Super-Vulnerable-Org/compromised-action","url":"https://github.com/Super-Vulnerable-Org/compromised-action","stars":0,"created":"2026-05-14"}]},"first":{"date":"2025-03-18","source":"PoC-in-GitHub","url":"https://github.com/Checkmarx/Checkmarx-CVE-2025-30066-Detection-Tool"},"provenance":"source"},"exploitRefs":["https://blog.gitguardian.com/compromised-tj-actions/","https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised"],"flow":[{"stage":"exploitation","techniques":["T1195.002"],"provenance":"ai"},{"stage":"primary","techniques":["T1552.001"],"provenance":"ai"}],"timeline":[{"date":"2025-03-14","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised","provenance":"source"},{"date":"2025-03-15","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-30066","provenance":"source"},{"date":"2025-03-18","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/Checkmarx/Checkmarx-CVE-2025-30066-Detection-Tool","provenance":"source"},{"date":"2025-03-18","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2025-03-18","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2025-6565","provenance":"source"}],"speed":{"daysToPublicExploit":3,"firstExploitFrom":"PoC-in-GitHub","daysToKev":3},"priority":{"score":68.9,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":0.0,"detail":"added 595 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.89,"detail":"percentile 0.9943"},{"name":"Named in threat reports","points":0.0,"detail":"0 reports"},{"name":"Public exploit code","points":5.0,"detail":"2 NVD references tagged Exploit; 2 PoC-in-GitHub repos"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":6.02,"detail":"base score 8.6"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}