# CVE-2026-33634 - Trivy Supply Chain: Código Malicioso Embarcado
> CVSS: 9.4 · EPSS: ~97% · Vendor: Aqua Security · CISA KEV: sim (2026-03-26) · Exploit: ativo (CanisterWorm / TeamPCP)
## Resumo
**CVE-2026-33634** é uma vulnerabilidade crítica resultante de um ataque de cadeia de suprimentos ao **Trivy**, o scanner de vulnerabilidades open source mais amplamente adotado em pipelines CI/CD cloud-native, mantido pela Aqua Security.
Em 19 de março de 2026, o grupo ameaçador rastreado como **TeamPCP** usou credenciais comprometidas para públicar uma versão maliciosa do Trivy (v0.69.4) e force-push 76 de 77 tags de versão no GitHub Action `aquasecurity/trivy-action`, além de todas as 7 tags do `aquasecurity/setup-trivy` - redirecionando referências confiáveis para commits contendo um infostealer de credenciais.
O ataque é continuação de um incidente anterior em fevereiro de 2026, quando credenciais foram extraídas via misconfiguration no GitHub Actions. A rotação de credenciais realizada em 1º de março foi **não-atômica** - deixando tokens residuais que permitiram ao atacante reestabelecer acesso e executar a ação de 19 de março.
**Pontuação de risco:**
- CVSS v3.1: **9.4** (Crítico)
- EPSS: **~97%** de probabilidade de exploração nos próximos 30 dias
- CISA KEV: **adicionado em 2026-03-26** - prazo federal: 2026-04-09
- Exploit: **ativo** - payload credential stealer confirmado; downstream worm (CanisterWorm) identificado em pacotes npm
## Impacto Técnico
O payload malicioso - injetado no `entrypoint.sh` **antes** da lógica legítima do Trivy - executava silenciosamente enquanto os workflows aparentavam funcionar normalmente. Um atacante que explorasse esta vulnerabilidade com sucesso podia:
- **Roubo de segredos CI/CD:** ler memória do processo `Runner.Worker` via `/proc/<pid>/mem`, extraindo segredos marcados como `isSecret: true` - **bypassando o mascaramento nativo do GitHub Actions**
- **Exfiltração em larga escala:** coleta de SSH keys, tokens AWS/GCP/Azure, configs Kubernetes, tokens Docker, Terraform state files, credenciais de banco de dados e histórico shell
- **Persistência:** instalação de serviço systemd (`sysmon.py`) em máquinas de desenvolvimento para polling de payload remoto
- **Exfiltração dupla:** POST HTTPS para C2 `scan[.]aquasecurtiy[.]org`; fallback via repositório público `tpcp-docs` criado na conta da vítima
**Impacto para organizações LATAM/Brasil:**
> [!latam] Impacto LATAM - Trivy Supply Chain
> O Trivy é a ferramenta de scanner de vulnerabilidades open source mais usada em pipelines CI/CD de times brasileiros de DevSecOps - especialmente em fintechs, telecomúnicações e plataformas cloud-native. Qualquer pipeline que executou a versão comprometida entre 19 e 22 de março de 2026 deve ser tratado como **totalmente comprometido**: rotar todos os segredos, revogar tokens e auditar artefatos de build. O worm **CanisterWorm** propagado via pacotes npm comprometidos amplia a superfície de risco para além dos usuários diretos do Trivy - afetando projetos Node.js que dependam de pacotes npm infectados.
Trivy tem adoção massiva em equipes de DevSecOps e plataformas cloud-native brasileiras - especialmente em setores [[financial]], [[technology]] e [[telecommunications|telecomúnicações]]. Qualquer pipeline que executou a versão comprometida entre 19-22 de março deve tratar **todos os segredos como expostos** e iniciar rotação imediata. O impacto cascata via CanisterWorm (pacotes npm comprometidos) amplia a superfície de risco além dos usuários diretos do Trivy. A estratégia de fixar GitHub Actions por commit SHA - em vez de tags mutáveis - é a principal lição operacional desta cadeia de comprometimento.
**CVEs relacionadas:** [[cve-2025-30066|CVE-2025-30066]] · [[cve-2025-30154|CVE-2025-30154]]
## Produtos Afetados
| Componente | Versão Comprometida | Versão Segura |
|-----------|--------------------|--------------------|
| Trivy binário | v0.69.4 | v0.69.2, v0.69.3 |
| aquasecurity/trivy-action | 0.0.1 – 0.34.2 (76/77 tags) | v0.35.0 |
| aquasecurity/setup-trivy | 0.2.0 – 0.2.6 (antes de recriação) | v0.2.6 (commit limpo) |
| Docker Hub (aquasec/trivy) | latest, v0.69.5, v0.69.6 | v0.69.3 e inferiores |
**Não afetados:** Trivy v0.69.2 e v0.69.3; trivy-action v0.35.0; setup-trivy v0.2.6 (commit seguro recriado); produtos comerciais Aqua Security.
## Patch e Mitigação
**Ação imediata:**
1. Verificar se qualquer pipeline executou Trivy v0.69.4 ou trivy-action com tag 0.0.1–0.34.2 entre 19–22 de março de 2026
2. **Tratar todos os segredos acessíveis a pipelines afetados como expostos** - rotar imediatamente
3. Verificar a existência de repositórios `tpcp-docs` na organização GitHub - presença indica exfiltração bem-sucedida
4. Remover todas as imagens e artefatos da versão comprometida do ambiente
5. Revisar logs de workflow do período 19–20 de março para `aquasecurity/trivy-action` e `aquasecurity/setup-trivy`
**Hardening estrutural:**
- **Fixar GitHub Actions por commit SHA completo e imutável** - nunca usar tags mutáveis
- Monitorar runners CI/CD com a mesma rigorosidade que ambientes de produção
- Revisar e revogar tokens de longa duração em todas as contas de serviço CI/CD
- Adotar verificação de integridade (SLSA, Sigstore) para artefatos de build
## Exploração Ativa
**Status atual:** exploração ativa confirmada - credenciais roubadas usadas em ataques downstream
**Evidências de uso em ataques:**
- Aqua Security / Sygnia: públicação de v0.69.4 malicioso e force-push de 76/77 tags - 2026-03-19
- CrowdStrike: spike de detecções em clientes Falcon vinculadas ao `aquasecurity/trivy-action` comprometido - 2026-03-20
- OpenSourceMalware: deface de 44 repositórios internos da Aqua Security via conta `aquasec-com` - 2026-03-22
- The Hacker News: downstream CanisterWorm propagado via pacotes npm a partir de credenciais roubadas - 2026-03-23
- Docker Hub: imagens comprometidas (v0.69.5, v0.69.6, latest) entre 2026-03-22 e 2026-03-23
**Grupo de ameaça:** [[teampcp|TeamPCP]] - ator rastreado por CrowdStrike e OpenSourceMalware como executor do ataque; motivação confirmada como exfiltração de credenciais e sabotagem de ferramental de segurança.
## TTPs Utilizadas
| TTP | Descrição | Fase |
|-----|-----------|------|
| [[t1195-002-compromise-software-supply-chain\|T1195.002]] | Comprometimento de software open source (Trivy) | Resource Development |
| [[t1552-unsecured-credentials\|T1552]] | Roubo de segredos CI/CD da memória do Runner | Credential Access |
| [[t1041-exfiltration-over-c2-channel\|T1041]] | Exfiltração via C2 HTTPS e repositório público | Exfiltration |
| [[t1059-command-scripting-interpreter\|T1059]] | Shellscript malicioso no entrypoint.sh | Execution |
## CISA KEV
Esta vulnerabilidade foi adicionada ao **CISA Known Exploited Vulnerabilities (KEV) Catalog** em **2026-03-26**.
- **Prazo de remediação para agências federais EUA:** 2026-04-09
- **Recomendação para o setor privado:** remediar com urgência - presença na KEV indica exploração ativa confirmada
- **Referência:** [CISA KEV - CVE-2026-33634](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
## Indicadores de Comprometimento
> [!ioc]- IOCs - CVE-2026-33634 Trivy Supply Chain / TeamPCP (TLP:CLEAR)
> Fonte: Aqua Security, CrowdStrike, LegitSecurity (divulgacao pública).
>
> **Dominio C2 (Defanged)**
> - `scan[.]aquasecurtiy[.]org` - typosquat do dominio legitimo Aqua Security; servidor de exfiltração TeamPCP
>
> **IP de C2**
> - `45.148.10.212` (Amsterdam) - servidor C2 adicional
>
> **Commits Maliciosos (GitHub)**
> - `1885610c` - commit malicioso em `aquasecurity/trivy-action`
> - `70379aad` - commit malicioso em action de checkout
> - `8afa9b9f9183b4e00c46e2b82d34047e3c177bd0` - commit malicioso em `aquasecurity/setup-trivy`
>
> **Artefatos de Exfiltração**
> - Repositorios públicos nomeados `tpcp-docs` criados na conta da vitima (presenca indica exfiltração bem-sucedida)
>
> **Versoes Comprometidas**
> - `aquasec/trivy:v0.69.4`, `aquasec/trivy:v0.69.5`, `aquasec/trivy:v0.69.6`, `aquasec/trivy:latest` (entre 2026-03-19 e 2026-03-23)
> - `aquasecurity/trivy-action` tags 0.0.1 a 0.34.2 (76/77 tags comprometidas)
## Notas Relacionadas
**Atores:** [[teampcp|TeamPCP]]
**TTPs utilizadas:** [[t1195-002-compromise-software-supply-chain|T1195.002]] · [[t1059-command-scripting-interpreter|T1059]] · [[t1552-unsecured-credentials|T1552]] · [[t1041-exfiltration-over-c2-channel|T1041]]
**Setores em risco:** [[technology]] · [[financial]] · [[telecommunications|telecomúnicações]]
## Referências
- [Aqua Security Advisory - Trivy Supply Chain Attack](https://www.aquasec.com/blog/trivy-supply-chain-attack-what-you-need-to-know/)
- [CrowdStrike - From Scanner to Stealer](https://www.crowdstrike.com/en-us/blog/from-scanner-to-stealer-inside-the-trivy-action-supply-chain-compromise/)
- [GHSA-69fq-xp46-6x23 - GitHub Advisory](https://github.com/advisories/GHSA-69fq-xp46-6x23)
- [NVD - CVE-2026-33634](https://nvd.nist.gov/vuln/detail/CVE-2026-33634)
- [CISA KEV - CVE-2026-33634](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)