CVE-2025-64712 : la faille critique d’Unstructured.io qui menace Amazon, Google et les géants du cloud
Aurélien Fontevive
En 2026, une vulnérabilité critique a secoué l’écosystème de l’intelligence artificielle : la CVE-2025-64712, notée 9,8 au CVSS, affecte la bibliothèque ETL « unstructured » d’Unstructured.io. Cette faille de traversée de chemin (path traversal) permet à un attaquant d’écrire des fichiers arbitrairement sur le disque et, dans les meilleures conditions, d’obtenir une exécution de code à distance (RCE). Le problème ne se limite pas à un petit projet open-source ; il touche les pipelines d’ingestion de données non structurées utilisés par des géants comme Amazon, Google, Microsoft et d’autres acteurs du cloud. Dans cet article, nous décortiquons le mécanisme de la CVE-2025-64712, évaluons son impact sur les infrastructures critiques, et proposons des mesures de mitigation conformes aux référentiels ANSSI, ISO 27001 et RGPD.
Pour plus d’exemples de vulnérabilités critiques similaires, voir vulnérabilité critique RCE affectant des sites WordPress.
Comprendre la vulnérabilité CVE-2025-64712
Mécanisme de traversée de chemin
Unstructured.io traite des fichiers non structurés (PDF, e-mails, documents Office, images) en les convertissant en texte exploitable par des modèles de langage. Lors du traitement d’un fichier .msg contenant des pièces jointes, la bibliothèque crée un répertoire temporaire puis génère le chemin du fichier à écrire en concaténant le répertoire avec le nom d’origine de la pièce jointe. Aucun filtrage ne neutralise les séquences « ../ ». Ainsi, un nom de fichier tel que ../../root/.ssh/authorized_keys permet d’écrire hors du répertoire prévu, compromettant potentiellement l’accès SSH du système.
Conséquences potentielles : RCE et compromission
Une fois le fichier écrit dans un répertoire sensible, l’attaquant peut injecter du code malicieux ou remplacer des scripts de démarrage. Si le processus qui exécute la bibliothèque tourne avec des privilèges élevés, la simple écriture d’un fichier exécutable suffit à obtenir une exécution de code à distance. Selon le rapport de Cyera (2025), 85 % des entreprises du Fortune 1000 intègrent des pipelines d’ingestion non structurée, ce qui élargit la surface d’attaque.
“Le risque réside dans le fait que la bibliothèque est souvent invoquée depuis des conteneurs qui disposent d’un accès large au système de fichiers, rendant la traversée de chemin particulièrement dangereuse.” - Analyste senior Cyera, 2025
Impact sur les infrastructures cloud des géants technologiques
Cas d’usage des pipelines RAG chez Amazon et Google
Les fournisseurs de cloud proposent des services de RAG (Retrieval-Augmented Generation) qui combinent recherche documentaire et génération de texte. Amazon Kendra et Google Vertex AI s’appuient sur des agents qui ingèrent des documents via des connecteurs S3, Drive ou Salesforce, puis stockent les embeddings dans des bases vectorielles. La bibliothèque unstructured est fréquemment utilisée comme couche d’extraction : elle lit les fichiers, les segmente et les transmet aux modèles d’IA.
Dans un environnement où des dizaines de milliers de documents sont traités quotidiennement, une seule instance compromise peut propager du code malveillant à l’ensemble du cluster de calcul. Le blast radius devient alors difficile à mesurer, surtout lorsque la bibliothèque est imbriquée dans des frameworks tiers (ex. : LangChain, LlamaIndex).
Scénarios d’exploitation réalistes
- Compromission d’un conteneur d’ingestion - Un attaquant envoie un e-mail contenant une pièce jointe malveillante à une boîte surveillée par un pipeline automatisé. La bibliothèque écrit
../../etc/crontab, créant une tâche cron qui exécute un reverse shell chaque minute. - Escalade via des fonctions serverless - Dans une architecture serverless, le code d’ingestion s’exécute dans une fonction AWS Lambda avec un rôle IAM permissif. En écrivant un fichier
../../opt/bootstrap.sh, l’attaquant modifie le script d’initialisation de la fonction et obtient un accès persistant. - Propagation à travers des volumes partagés - Sur un cluster Kubernetes, les pods partagent un volume persistant. Une écriture hors-répertoire peut altérer les binaires du nœud, compromettant l’ensemble du cluster.
“Les pipelines RAG sont aujourd’hui le cœur de la plupart des assistants IA d’entreprise ; une faille au niveau de l’ingestion équivaut à une porte dérobée dans le cerveau du système.” - Expert en cybersécurité, ANSSI, 2025
Mesures de mitigation recommandées pour les entreprises
Isolation et conteneurisation
- Exécuter la bibliothèque dans des conteneurs à privilèges limités : user non-root, capabilities réduites.
- Utiliser des environnements éphémères (sandbox, VM légère) pour chaque fichier traité.
- Appliquer des quotas de ressources afin de limiter l’impact d’un processus compromis.
Contrôles de validation des chemins
- Normalisation du chemin - Appliquer
os.path.normpathou l’équivalent en Java :Path.normalize()avant toute écriture. - Whitelist des extensions et des noms - N’accepter que des extensions connues (
.pdf,.docx,.txt) et refuser les caractères spéciaux. - Utiliser
basename- Extraire uniquement le nom de fichier sans les répertoires :basename = os.path.basename(user_filename). - Détection de séquences de traversée - Refuser toute occurrence de
../ou..\\.
Tableau comparatif des stratégies de mitigation
| Stratégie | Avantages | Inconvénients | Niveau de conformité |
|---|---|---|---|
| Conteneurisation avec user non-root | Réduction du privilège, isolation | Gestion supplémentaire des images | ISO 27001, ANSSI |
| Validation stricte du chemin | Empêche la traversée dès l’entrée | Risque de faux positifs | RGPD (principe de minimisation) |
| Sandbox OS (gVisor, Firecracker) | Isolement fort, faible surface d’attaque | Overhead de performance | ISO 27001 |
Pour découvrir les meilleures sources d’information en cybersécurité, consultez le guide des top 15 blogs de sécurité informatique à suivre en 2026. | Monitoring de l’accès fichier (auditd) | Détection post-incident | Nécessite stockage des logs | ANSSI |
Exemple de code de sanitisation (Python)
import os
def sanitize_filename(filename: str, allowed_ext: set = {".pdf", ".txt", ".docx"}) -> str:
# 1. Extraire le nom de base
base = os.path.basename(filename)
# 2. Normaliser le chemin
norm = os.path.normpath(base)
# 3. Vérifier les séquences de traversée
if ".." in norm:
raise ValueError("Nom de fichier suspect : traversal détecté")
# 4. Vérifier l’extension
_, ext = os.path.splitext(norm)
if ext.lower() not in allowed_ext:
raise ValueError(f"Extension non autorisée : {ext}")
return norm
Ce fragment montre comment empêcher la création de chemins dangereux avant d’écrire le fichier sur le disque.
Bonnes pratiques de gouvernance et conformité
Alignement avec les référentiels ANSSI, ISO 27001, RGPD
- ANSSI recommande la mise en place de defense-in-depth : segmentation réseau, contrôle d’accès au système de fichiers et audit continu.
- ISO 27001 exige une gestion du risque liée aux vulnérabilités logicielles : identification, évaluation, traitement et revue périodique.
- RGPD impose la protection des données personnelles dès la conception (privacy by design) ; la compromission d’un fichier contenant des données sensibles constitue une violation potentielle.
Audit et suivi continu
- Scanner les dépendances avec des outils comme Snyk ou Trivy à chaque pipeline CI/CD.
- Intégrer les bulletins de sécurité (CVE-2025-64712) dans le tableau de bord de gestion des vulnérabilités.
- Effectuer des tests de pénétration ciblés sur les points d’entrée du pipeline d’ingestion.
- Mettre en place des alertes sur les opérations d’écriture hors des répertoires temporaires via Sysdig ou Falco.
Guide de mise en œuvre : étapes actionnables
- Inventorier les usages d’Unstructured.io dans l’ensemble des projets IA ; recenser les conteneurs, fonctions serverless et VM concernés.
- Appliquer immédiatement les correctifs fournis par le mainteneur (version ≥ 0.5.3) ; si impossible, désactiver temporairement le traitement des pièces jointes .msg.
- Déployer les contrôles de validation présentés ci-dessus dans le code d’ingestion ; valider via des jeux de tests automatisés.
- Isoler les processus dans des conteneurs non-root et configurer des quotas de ressources.
- Configurer la surveillance (auditd, Falco) pour détecter toute écriture hors du répertoire
/tmp/unstructured. - Documenter les mesures dans le registre de conformité ISO 27001 et mettre à jour le plan de réponse aux incidents.
Conclusion - Agissez dès maintenant pour sécuriser vos pipelines IA
Pour en savoir plus sur les techniques d’exploitation macOS utilisées par les groupes de hackers, lisez l’article sur comment les hackers nord‑coreens exploitent des malwares macOS pour voler des cryptomonnaies. La CVE-2025-64712 illustre comment une vulnérabilité de traversée de chemin dans une bibliothèque d’ingestion de données non structurées peut exposer les plus grands acteurs du cloud à des scénarios d’exécution de code à distance. En appliquant les bonnes pratiques de sanitisation, d’isolation et de gouvernance conformément aux exigences de l’ANSSI, de l’ISO 27001 et du RGPD, les organisations peuvent réduire drastiquement le blast radius et protéger leurs actifs critiques. Ne laissez pas cette faille rester une menace latente : corrigez, isolez, surveillez et auditiez dès aujourd’hui pour garantir la résilience de vos pipelines d’IA.