{"id":10349,"date":"2025-03-17T11:01:54","date_gmt":"2025-03-17T11:01:54","guid":{"rendered":"https:\/\/fusionmindlabs.com\/blogs\/github-action-flaw-exposes-secrets-in-23k-repos\/"},"modified":"2025-03-17T11:01:56","modified_gmt":"2025-03-17T11:01:56","slug":"github-action-flaw-exposes-secrets-in-23k-repos","status":"publish","type":"post","link":"https:\/\/fusionmindlabs.com\/blogs\/github-action-flaw-exposes-secrets-in-23k-repos\/","title":{"rendered":"GitHub Action Flaw Exposes Secrets in 23k Repos"},"content":{"rendered":"\n<\/p>\n<p><strong>Article Published on Mar 17, 2025, by Ravie Lakshmanan<\/strong><br \/>\n<strong>Tags: Vulnerability \/ Cloud Security<\/strong><\/p>\n<p>Cybersecurity researchers have identified a concerning incident involving the popular GitHub Action <code>tj-actions\/changed-files<\/code>, which was compromised to leak secrets from repositories using the continuous integration and continuous delivery (CI\/CD) workflow.<\/p>\n<p>The incident involved the <code>tj-actions\/changed-files<\/code> GitHub Action, utilized in over 23,000 repositories, and is used to track and retrieve all changed files and directories. This supply chain compromise has been assigned the CVE identifier <a href=\"https:\/\/www.cve.org\/CVERecord?id=CVE-2025-30066\" rel=\"nofollow noopener\" target=\"_blank\">CVE-2025-30066<\/a> (CVSS score: 8.6) and is said to have taken place sometime before March 14, 2025.<\/p>\n<p><a href=\"https:\/\/thehackernews.uk\/cis-securesuite\" rel=\"nofollow noopener\" target=\"_blank\"><\/a><\/p>\n<p>&quot;In this attack, the attackers modified the action&#8217;s code and retroactively updated multiple version tags to reference the malicious commit,&quot; StepSecurity <a href=\"https:\/\/www.stepsecurity.io\/blog\/harden-runner-detection-tj-actions-changed-files-action-is-compromised\" rel=\"nofollow noopener\" target=\"_blank\">said<\/a>. &quot;The compromised Action prints CI\/CD secrets in GitHub Actions build logs.&quot;<\/p>\n<p>As a result, should the workflow logs be publicly accessible, they could lead to the unauthorized exposure of sensitive secrets when the action is run on the repositories. This includes AWS access keys, GitHub Personal Access Tokens (PATs), npm tokens, and private RSA Keys, among others. However, there is no evidence that the leaked secrets were siphoned to any attacker-controlled infrastructure.<\/p>\n<p>Specifically, the <a href=\"https:\/\/semgrep.dev\/blog\/2025\/popular-github-action-tj-actionschanged-files-is-compromised\/\" rel=\"nofollow noopener\" target=\"_blank\">maliciously inserted code<\/a> is designed to run a Python script hosted on a GitHub gist that dumps the CI\/CD secrets from the Runner Worker process. It&#8217;s said to have originated from an unverified source code commit. The GitHub gist has since been taken down.<\/p>\n<p><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEibsC7uBQbjHjgtzSb7ed_mdy0dtDzJdDxsd-enrsOG3N0HeknEXgOBPImotRapndJv1RzzrU1b-JMtTEklTDPghaNhsAbLKEWN22_vSva7aVzcy5LhSnkogLxZxciuX08ASODjN77_DqXdHzxwr6-mxNHFxyBtV7i5CeMiFEPD9p3rOkUDLJw17hb8ZEru\/s728-rw-e365\/tj.png\" rel=\"nofollow noopener\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEibsC7uBQbjHjgtzSb7ed_mdy0dtDzJdDxsd-enrsOG3N0HeknEXgOBPImotRapndJv1RzzrU1b-JMtTEklTDPghaNhsAbLKEWN22_vSva7aVzcy5LhSnkogLxZxciuX08ASODjN77_DqXdHzxwr6-mxNHFxyBtV7i5CeMiFEPD9p3rOkUDLJw17hb8ZEru\/s728-rw-e365\/tj.png\" alt=\"tj-actions\/changed-files\" \/><\/a><\/p>\n<p>&quot;tj-actions\/change-files is used in an organization&#8217;s software development pipelines,&quot; Dimitri Stiliadis, CTO and co-founder of Endor Labs, said in a statement shared with The Hacker News. &quot;After developers write and review code, they typically publish into the main branch of their repository. From there &#8216;pipelines&#8217; take it, build it for production, and deploy it.&quot;<\/p>\n<p>&quot;tj-actions\/change-files helps detect file changes in a repository. It allows you to check which files have been added, modified, or deleted between commits, branches, or pull requests.&quot;<\/p>\n<p>&quot;The attackers <a href=\"https:\/\/www.endorlabs.com\/learn\/github-action-tj-actions-changed-files-supply-chain-attack-what-you-need-to-know\" rel=\"nofollow noopener\" target=\"_blank\">modified the action&#8217;s code<\/a> and retroactively updated multiple version tags to reference the malicious commit. The compromised Action now executes a malicious Python script that dumps CI\/CD secrets, impacting thousands of CI pipelines.&quot;<\/p>\n<p>The project maintainers have stated that the unknown threat actor(s) behind the incident managed to compromise a GitHub personal access token (PAT) used by @tj-actions-bot, a bot with privileged access to the compromised repository.<\/p>\n<p>Following the discovery, the account&#8217;s password has been updated, authentication has been upgraded to use a passkey, and its permissions levels have been updated such that it follows the principle of least privilege. GitHub has also revoked the compromised PAT.<\/p>\n<p>&quot;The Personal access token affected was stored as a GitHub action secret which has since been revoked,&quot; the maintainers <a href=\"https:\/\/github.com\/tj-actions\/changed-files\/issues\/2464#issuecomment-2727020537\" rel=\"nofollow noopener\" target=\"_blank\">added<\/a>. &quot;Going forward no PAT would be used for all projects in the tj-actions organization to prevent any risk of reoccurrence.&quot;<\/p>\n<p><a href=\"https:\/\/thehackernews.uk\/cloud-ai-d\" rel=\"nofollow noopener\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEiSCOAe1VcPqudCfDCPhh-g5wBvLsaz_frXFhGVPG_yPr-e-Y_9oqVjzAuW5Ywuspn_7ZQvCAWhx52iofUIHBwjMusM5C199AJ9njiV0nZygnKwYRTbPVixr-TfhyphenhyphenbuqiL9VuAgl2xAY1ky_f9u-wiRWvA_KJiVnnGA9DZE3qBFjpIOrpNAFqvyMMfAcbEh\/s728-e100\/cloud-ai-d.jpg\" alt=\"Cybersecurity\" \/><\/a><\/p>\n<p>Anyone who uses the GitHub Action is advised to update to the <a href=\"https:\/\/github.com\/tj-actions\/changed-files\/releases\/tag\/v46.0.1\" rel=\"nofollow noopener\" target=\"_blank\">latest version<\/a> (46.0.1) as soon as possible. Users are also advised to review all workflows executed between March 14 and March 15 and check for &quot;unexpected output under the changed-files section.&quot;<\/p>\n<p>This is not the first time a security issue has been flagged in the tj-actions\/changed-files Action. In January 2024, security researcher Adnan Khan <a href=\"https:\/\/adnanthekhan.com\/2024\/01\/10\/cve-2023-49291-and-more-a-potential-actions-nightmare\/\" rel=\"nofollow noopener\" target=\"_blank\">revealed<\/a> details of a critical flaw (<a href=\"https:\/\/nvd.nist.gov\/vuln\/detail\/CVE-2023-49291\" rel=\"nofollow noopener\" target=\"_blank\">CVE-2023-49291<\/a>, CVSS score: 9.8) affecting tj-actions\/changed-files and tj-actions\/branch-names that could pave the way for arbitrary code execution.<\/p>\n<p>The development once again underscores how open-source software remains particularly susceptible to supply chain risks, which could then have serious consequences for several downstream customers at once.<\/p>\n<p>&quot;As of March 15, 2025, all versions of tj-actions\/changed-files were found to be affected, as the attacker managed to modify existing version tags to make them all point to their malicious code,&quot; cloud security firm Wiz <a href=\"https:\/\/www.wiz.io\/blog\/github-action-tj-actions-changed-files-supply-chain-attack-cve-2025-30066\" rel=\"nofollow noopener\" target=\"_blank\">said<\/a>.<\/p>\n<p>&quot;Customers who were using a hash-pinned version of tj-actions\/changed-files would not be impacted, unless they had updated to an impacted hash during the exploitation timeframe.&quot;<\/p>\n<p><strong>Follow us on <a href=\"https:\/\/twitter.com\/thehackersnews\" rel=\"nofollow noopener\" target=\"_blank\">Twitter<\/a> and <a href=\"https:\/\/www.linkedin.com\/company\/thehackernews\/\" rel=\"nofollow noopener\" target=\"_blank\">LinkedIn<\/a> to read more exclusive content we post.<\/strong><\/p>\n\n<br \/><a href=\"https:\/\/thehackernews.com\/2025\/03\/github-action-compromise-puts-cicd.html\" rel=\"nofollow noopener\" target=\"_blank\">Source Link<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Article Published on Mar 17, 2025, by Ravie Lakshmanan Tags: Vulnerability \/ Cloud Security Cybersecurity researchers have identified a concerning incident involving the popular GitHub Action tj-actions\/changed-files, which was compromised&#8230;<\/p>\n","protected":false},"author":19,"featured_media":10350,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[46,39,32,31,33,34,35,40,36,37,42,44,43,41,38,45],"class_list":["post-10349","post","type-post","status-publish","format-standard","has-post-thumbnail","category-cybersecurity","tag-computer-security","tag-cyber-attacks","tag-cyber-news","tag-cyber-security-news","tag-cyber-security-news-today","tag-cyber-security-updates","tag-cyber-updates","tag-data-breach","tag-hacker-news","tag-hacking-news","tag-how-to-hack","tag-information-security","tag-network-security","tag-ransomware-malware","tag-software-vulnerability","tag-the-hacker-news"],"jetpack_featured_media_url":"https:\/\/fusionmindlabs.com\/blogs\/wp-content\/uploads\/sites\/9\/2025\/03\/github.png","_links":{"self":[{"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/posts\/10349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/comments?post=10349"}],"version-history":[{"count":1,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/posts\/10349\/revisions"}],"predecessor-version":[{"id":10351,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/posts\/10349\/revisions\/10351"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/media\/10350"}],"wp:attachment":[{"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/media?parent=10349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/categories?post=10349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fusionmindlabs.com\/blogs\/wp-json\/wp\/v2\/tags?post=10349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}