🎯 Contexte
Article publié le 29 septembre 2026 sur le blog personnel du chercheur zonduu, décrivant une vulnérabilité critique découverte lors du live hacking event de Meta en mai 2026 à Taïwan. La cible était un service GraphRAG (IA d’assistance aux réunions) hébergé sur AWS ECS Fargate, dans un environnement de développement sous le domaine *.aws.metafb.cloud.
🔗 Chaîne d’exploitation
Le chercheur a enchaîné quatre vulnérabilités distinctes :
- Clé API hardcodée dans un chunk JavaScript Next.js côté client (
apprunner_fast_graphrag_fgr_k3y_8x4n9p2q...), donnant accès à l’ensemble de l’API GraphRAG - Path traversal sur le champ
filenamede l’endpointload_datasources, permettant une écriture arbitraire de fichiers (ex:../../h1_rce_module4.py→site-packages) - Path traversal sur le paramètre
datasetde l’endpoint/visualize, permettant de pointer vers un répertoire arbitraire - Désérialisation pickle non sécurisée (
pickle.loads()sans vérification de signature) sur l’endpoint/visualize, chargeant un fichiergraph_igraph_data.pklzcontrôlé par l’attaquant
💥 Impact
- RCE en tant que root (
uid=0(root) gid=0(root)) sur le conteneur ECS Fargate - Accès en lecture/écriture à 3 287 sessions réelles de transcriptions de réunions IA stockées dans S3 et DynamoDB
- Exfiltration des credentials AWS ECS task role via le metadata service (
169.254.170.2) - Accès complet à 17 secrets dans AWS Secrets Manager, dont :
fb_client_secret(OAuth Meta/Facebook)okta/client-secret(SSO)JWT_SECRET(forgerie de tokens)OPENAI_API_KEY- Plusieurs paires de clés LiveKit (accès/enregistrement de rooms)
- Deux comptes de service GCP (dont un nommé
sso-admin)
- Validation des accès GCP via
gcloud auth print-access-token
⏱️ Timeline
- 19 avril : Rapport initial → évaluation en 1h30, PoC complet demandé le soir même
- 20 avril ~4h40 : Rotation des credentials déjà en cours
- 8 mai : Paiement de la prime : 525 USD (500 + 25 bonus)
📄 Type d’article
Write-up technique détaillé de bug bounty (post-mortem offensif), dont le but est de documenter publiquement la chaîne d’exploitation, les preuves d’impact et le déroulement de la divulgation responsable.
🧠 TTPs et IOCs détectés
TTP
- T1552.001 — Credentials In Files (Credential Access)
- T1552.004 — Private Keys (Credential Access)
- T1190 — Exploit Public-Facing Application (Initial Access)
- T1059.006 — Command and Scripting Interpreter: Python (Execution)
- T1083 — File and Directory Discovery (Discovery)
- T1005 — Data from Local System (Collection)
- T1552.005 — Cloud Instance Metadata API (Credential Access)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1098 — Account Manipulation (Persistence)
- T1530 — Data from Cloud Storage (Collection)
IOC
- IPv4 :
34.212.88.131— AbuseIPDB · VT · ThreatFox - Fichiers :
graph_igraph_data.pklz - Fichiers :
h1_rce_module4.py - Fichiers :
h1_write_probe.txt - Chemins :
/usr/local/lib/python3.11/site-packages/h1_write_probe.txt - Chemins :
/usr/local/lib/python3.11/site-packages/h1_rce_module4.py
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 29 septembre 2026 et n’ont pas fait l’objet d’une vérification externe. Un indicateur peut avoir été réattribué depuis : une IP de C2 peut redevenir un service légitime, un domaine sinkholé peut changer de propriétaire. Aucune garantie d’exactitude ni d’actualité — contrôlez leur validité avant tout usage opérationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.
Malware / Outils
- Interactsh (tool)
🟡 Indice de vérification factuelle : 50/100 (moyenne)
- ⬜ zonduu.me — source non référencée (0pts)
- ✅ 18788 chars — texte complet (fulltext extrait) (15pts)
- ✅ 6 IOCs (IPs/domaines/CVEs) (10pts)
- ⬜ 0/1 IOCs confirmés externellement (0pts)
- ✅ 10 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://zonduu.me/posts/meta-graphrag-rce/