{"id":"CVE-2026-33634","published":"2026-03-23T22:16:31Z","modified":"2026-06-17T10:37:49Z","title":"Aquasecurity Trivy Embedded Malicious Code Vulnerability","vendor":"Aquasecurity","product":"Trivy","tier":"core","eol":null,"description":{"text":"Trivy is a security scanner. On March 19, 2026, a threat actor used compromised credentials to publish a malicious Trivy v0.69.4 release, force-push 76 of 77 version tags in `aquasecurity/trivy-action` to credential-stealing malware, and replace all 7 tags in `aquasecurity/setup-trivy` with malicious commits. This incident is a continuation of the supply chain attack that began in late February 2026. Following the initial disclosure on March 1, credential rotation was performed but was not atomic (not all credentials were revoked simultaneously). The attacker could have use a valid token to exfiltrate newly rotated secrets during the rotation window (which lasted a few days). This could have allowed the attacker to retain access and execute the March 19 attack. Affected components include the `aquasecurity/trivy` Go / Container image version 0.69.4, the `aquasecurity/trivy-action` GitHub Action versions 0.0.1 – 0.34.2 (76/77), and the`aquasecurity/setup-trivy` GitHub Action versions 0.2.0 – 0.2.6, prior to the recreation of 0.2.6 with a safe commit. Known safe versions include versions 0.69.2 and 0.69.3 of the Trivy binary, version 0.35.0 of trivy-action, and version 0.2.6 of setup-trivy. Additionally, take other mitigations to ensure the safety of secrets. If there is any possibility that a compromised version ran in one's environment, all secrets accessible to affected pipelines must be treated as exposed and rotated immediately. Check whether one's organization pulled or executed Trivy v0.69.4 from any source. Remove any affected artifacts immediately. Review all workflows using `aquasecurity/trivy-action` or `aquasecurity/setup-trivy`. Those who referenced a version tag rather than a full commit SHA should check workflow run logs from March 19–20, 2026 for signs of compromise. Look for repositories named `tpcp-docs` in one's GitHub organization. The presence of such a repository may indicate that the fallback exfiltration mechanism was triggered and secrets were successfully stolen. Pin GitHub Actions to full, immutable commit SHA hashes, don't use mutable version tags.","provenance":"source","from":"NVD"},"summary":{"text":"Trivy, Aquasecurity's security scanner, was compromised: the malicious v0.69.4 release, 76 of 77 version tags in aquasecurity/trivy-action, and all 7 tags in aquasecurity/setup-trivy were replaced with credential-stealing code. An attacker with network access and low-privilege credentials (the attack vector requires only low privileges and no user interaction) can run this malicious code in any pipeline or environment that pulls or executes the affected Trivy or GitHub Action versions, and can steal the secrets accessible to it.","provenance":"ai","model":"claude-haiku-5-5","generatedAt":"2026-10-29T07:53:29Z"},"cvss":{"score":8.8,"severity":"HIGH","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","provenance":"source","from":"NVD"},"epss":{"score":0.59727,"percentile":0.99127,"date":"2026-10-30","provenance":"source"},"kev":{"dateAdded":"2026-03-26","dueDate":"2026-04-09","ransomware":false,"requiredAction":"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 involves a supply‑chain compromise in a product that may be used across multiple products and environments. Additional vendor‑provided guidance must be followed to ensure full remediation. For more information, please see: https://github.com/advisories/GHSA-69fq-xp46-6x23 ; https://nvd.nist.gov/vuln/detail/CVE-2026-33634","provenance":"source"},"vulncheckKev":{"dateAdded":"2026-03-23","exploitedFirstSeen":"2026-03-23","ransomware":false,"evidence":[{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33634","date":"2026-03-23"},{"url":"https://www.kaspersky.com/blog/critical-supply-chain-attack-trivy-litellm-checkmarx-teampcp/55510/","date":"2026-03-25"},{"url":"https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json","date":"2026-03-26"},{"url":"https://www.recordedfuture.com/blog/march-2026-cve-landscape","date":"2026-04-13"},{"url":"https://45734016.fs1.hubspotusercontent-na1.net/hubfs/45734016/TeamPCP%20Threat%20Actor%20Report.pdf","date":"2026-07-01"},{"url":"https://www.ic3.gov/CSA/2026/260702.pdf","date":"2026-07-02"},{"url":"https://expel.com/blog/the-ai-cve-exploitation-evidence-story-headlines-are-scarier-than-reality/","date":"2026-08-27"}],"evidenceTotal":7,"provenance":"source"},"exploited":true,"otx":{"pulseCount":50,"pulses":[{"name":"Actively_Exploited_Kev | Oct 31, 2026","url":"https://otx.alienvault.com/pulse/6ae4aefab0c2191cecd41862","created":"2026-10-30"},{"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"}],"provenance":"machine"},"cwes":[{"id":"CWE-506","name":"Embedded Malicious Code"}],"references":[{"url":"https://docs.litellm.ai/blog/security-update-march-2026","tags":["Third Party Advisory"]},{"url":"https://futuresearch.ai/blog/litellm-pypi-supply-chain-attack","tags":["Third Party Advisory"]},{"url":"https://github.com/BerriAI/litellm/issues/24518","tags":["Issue Tracking","Mitigation","Third Party Advisory"]},{"url":"https://github.com/aquasecurity/trivy/discussions/10425","tags":["Issue Tracking","Vendor Advisory"]},{"url":"https://github.com/aquasecurity/trivy/security/advisories/GHSA-69fq-xp46-6x23","tags":["Exploit","Mitigation","Vendor Advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/litellm/PYSEC-2026-2.yaml","tags":["Third Party Advisory"]},{"url":"https://github.com/team-telnyx/telnyx-python/security/advisories/GHSA-955r-262c-33jc","tags":["Third Party Advisory"]},{"url":"https://inspector.pypi.io/project/litellm/1.82.7/packages/79/5f/b6998d42c6ccd32d36e12661f2734602e72a576d52a51f4245aef0b20b4d/litellm-1.82.7-py3-none-any.whl/litellm/proxy/proxy_server.py#line.130","tags":["Broken Link"]},{"url":"https://inspector.pypi.io/project/litellm/1.82.8/packages/f6/2c/731b614e6cee0bca1e010a36fd381fba69ee836fe3cb6753ba23ef2b9601/litellm-1.82.8.tar.gz/litellm-1.82.8/litellm_init.pth#line.1","tags":["Broken Link"]},{"url":"https://www.wiz.io/blog/teampcp-attack-kics-github-action","tags":["Not Applicable"]},{"url":"https://github.com/BerriAI/litellm/issues/24518#issuecomment-4127436387","tags":["Issue Tracking","Mitigation","Third Party Advisory"]},{"url":"https://rosesecurity.dev/2026/03/20/typosquatting-trivy.html","tags":["Exploit","Third Party Advisory"]},{"url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-33634","tags":["US Government Resource"]},{"url":"https://www.microsoft.com/en-us/security/blog/2026/03/24/detecting-investigating-defending-against-trivy-supply-chain-compromise/","tags":["Technical Description"]}],"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 tags and commits delivered via supply chain","mappingType":"exploitation_technique","evidence":[{"from":"description","quote":"replace all 7 tags in `aquasecurity/setup-trivy` with malicious commits","start":238,"end":309}],"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: credential-stealing malware harvests secrets from pipelines","mappingType":"primary_impact","evidence":[{"from":"description","quote":"threat actor used compromised credentials to publish a malicious Trivy","start":50,"end":120}],"model":"claude-haiku-5-5","confidence":"medium","confidenceNote":"AI-mapped from the description (quote-validated, not expert-reviewed)"}],"reports":[{"id":"SRC-9eed9f33e9ecf0c4d15a","title":"Popular telnyx package compromised on PyPI by TeamPCP","publisher":"aikido.dev","url":"https://www.aikido.dev/blog/telnyx-pypi-compromised-teampcp-canisterworm","date":null,"mentions":[{"quote":"Aqua Security's open source vulnerability scanner was backdoored, resulting in CVE-2026-33634 (CVSS 9.4).","start":651,"end":756}]},{"id":"SRC-5629a83b43d088761158","title":"260702","publisher":"ic3.gov","url":"https://www.ic3.gov/CSA/2026/260702.pdf","date":null,"mentions":[{"quote":"CVE-2026-33634 CVE-2026-48027","start":5353,"end":5382}]}],"affected":[{"ecosystem":"Go","package":"github.com/aquasecurity/trivy","vulnerableRanges":[">=0.69.4"],"patched":[],"from":["GHSA-69fq-xp46-6x23","GO-2026-4919"],"provenance":"source"},{"ecosystem":"GitHub Actions","package":"aquasecurity/trivy-action","vulnerableRanges":["<0.35.0"],"patched":["0.35.0"],"from":["GHSA-69fq-xp46-6x23"],"provenance":"source"},{"ecosystem":"GitHub Actions","package":"aquasecurity/setup-trivy","vulnerableRanges":["<0.2.6"],"patched":["0.2.6"],"from":["GHSA-69fq-xp46-6x23"],"provenance":"source"}],"advisories":[{"id":"GHSA-69fq-xp46-6x23","url":"https://github.com/advisories/GHSA-69fq-xp46-6x23","severity":"CRITICAL","ecosystem":"Go","package":"github.com/aquasecurity/trivy","vulnerableRanges":[],"patched":[],"provenance":"source","from":"GHSA"},{"id":"GHSA-69fq-xp46-6x23","url":"https://github.com/advisories/GHSA-69fq-xp46-6x23","severity":"CRITICAL","ecosystem":"GitHub Actions","package":"aquasecurity/trivy-action","vulnerableRanges":["<0.35.0"],"patched":["0.35.0"],"provenance":"source","from":"GHSA"},{"id":"GHSA-69fq-xp46-6x23","url":"https://github.com/advisories/GHSA-69fq-xp46-6x23","severity":"CRITICAL","ecosystem":"GitHub Actions","package":"aquasecurity/setup-trivy","vulnerableRanges":["<0.2.6"],"patched":["0.2.6"],"provenance":"source","from":"GHSA"}],"euvd":{"id":"EUVD-2026-14601","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-14601","exploited":true,"exploitedSince":"2026-03-26","provenance":"source"},"exploits":[],"exploitSources":{"pocGithub":{"count":4,"skipped":1,"earliest":"2026-03-25","earliestUrl":"https://github.com/ugurrates/teampcp-supply-chain-attack","repos":[{"name":"ugurrates/teampcp-supply-chain-attack","url":"https://github.com/ugurrates/teampcp-supply-chain-attack","stars":12,"created":"2026-03-25"},{"name":"fevar54/CVE-2026-33634-Scanner","url":"https://github.com/fevar54/CVE-2026-33634-Scanner","stars":0,"created":"2026-03-30"},{"name":"AshleyT3/docker-socket-risk-demos","url":"https://github.com/AshleyT3/docker-socket-risk-demos","stars":0,"created":"2026-03-31"},{"name":"dfs333/trivysupplychainanalysis","url":"https://github.com/dfs333/trivysupplychainanalysis","stars":0,"created":"2026-07-15"}]},"first":{"date":"2026-03-25","source":"PoC-in-GitHub","url":"https://github.com/ugurrates/teampcp-supply-chain-attack"},"provenance":"source"},"exploitRefs":["https://github.com/aquasecurity/trivy/security/advisories/GHSA-69fq-xp46-6x23","https://rosesecurity.dev/2026/03/20/typosquatting-trivy.html"],"flow":[{"stage":"exploitation","techniques":["T1195.002"],"provenance":"ai"},{"stage":"primary","techniques":["T1552.001"],"provenance":"ai"}],"timeline":[{"date":"2026-03-23","kind":"published","label":"Published (NVD)","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33634","provenance":"source"},{"date":"2026-03-23","kind":"exploited-reported","label":"Exploitation first reported (VulnCheck KEV evidence)","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-33634","provenance":"source"},{"date":"2026-03-25","kind":"exploit-public","label":"First public exploit: PoC-in-GitHub","url":"https://github.com/ugurrates/teampcp-supply-chain-attack","provenance":"source"},{"date":"2026-03-26","kind":"kev","label":"Added to CISA KEV","url":"https://www.cisa.gov/known-exploited-vulnerabilities-catalog","provenance":"source"},{"date":"2026-03-26","kind":"euvd-exploited","label":"ENISA EUVD: exploited","url":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-14601","provenance":"source"}],"speed":{"daysToPublicExploit":2,"firstExploitFrom":"PoC-in-GitHub","daysToKev":3},"priority":{"score":80.1,"factors":[{"name":"In a KEV catalog","points":35.0,"detail":"listed in CISA KEV and VulnCheck KEV"},{"name":"Recent KEV listing","points":5.0,"detail":"added 222 days ago"},{"name":"Known ransomware use","points":0.0,"detail":"not known"},{"name":"EPSS percentile","points":19.83,"detail":"percentile 0.9913"},{"name":"Named in threat reports","points":6.13,"detail":"2 reports"},{"name":"Public exploit code","points":5.0,"detail":"2 NVD references tagged Exploit; 4 PoC-in-GitHub repos"},{"name":"Mentioned in OTX pulses","points":3.0,"detail":"50 pulses"},{"name":"CVSS severity","points":6.16,"detail":"base score 8.8"},{"name":"End-of-life product","points":0.0,"detail":"supported or unknown"}]}}