CVE-2025-64712 : Comment la vulnérabilité d’Unstructured.io menace les géants du cloud et vos données
Célestine Rochefour
Une faille critique qui pourrait compromettre 80 % à 90 % des données d’entreprise
« Les données non structurées représentent entre 80 % et 90 % du volume total d’information dans les organisations », - Cyera, 2025.
En 2025, une vulnérabilité classée CVSS 9.8 a été découverte dans la bibliothèque ETL Unstructured d’Unstructured.io. Identifiée sous le numéro CVE-2025-64712, elle autorise une traversée de chemin (path traversal) menant à une écriture arbitraire de fichiers, et ouvre la porte à une exécution de code à distance (RCE) sur tout système qui traite des documents non fiables. Cette faille touche directement les pipelines d’ingestion de texte destinés aux assistants IA et aux bases vectorielles, un maillon essentiel des architectures RAG (Retrieval-Augmented Generation) utilisées par les plus grands fournisseurs de cloud.
Dans les paragraphes qui suivent, nous décortiquons le mécanisme de la faille, évaluons son impact sur les acteurs majeurs du cloud (AWS, Google Cloud, Microsoft Azure) et, surtout, proposons un plan d’action concret pour sécuriser vos environnements en 2026.
Comprendre la faille CVE-2025-64712
Mécanisme de traversée de chemin
Unstructured.io traite les pièces jointes d’e-mails au format .msg en les copiant d’abord dans un répertoire temporaire avant d’en extraire le texte. Le chemin du fichier temporaire est construit en concaténant le répertoire (ex. /tmp/) avec le nom d’origine de la pièce jointe sans appliquer de normalisation ni de filtrage d’extension. Ainsi, un attaquant qui contrôle le nom du fichier peut injecter des séquences de navigation comme ../../ et forcer l’écriture en dehors du répertoire prévu.
« Le code concatène directement le nom du fichier fourni par l’utilisateur, ce qui crée une opportunité de traversée de répertoire », - analyse de Cyera, 2025.
Cette écriture arbitraire devient critique lorsqu’elle cible des fichiers sensibles : authorized_keys du compte SSH, scripts de démarrage, ou même des bibliothèques Python chargées au démarrage du service. Dans le meilleur des cas, l’attaquant obtient un accès persistant ; dans le pire, il exécute du code malveillant et compromet l’ensemble du nœud.
Scénario d’exploitation RCE
- Injection du nom de fichier : l’attaquant envoie un e-mail contenant une pièce jointe nommée
../../root/.ssh/authorized_keys. - Traitement par Unstructured : la bibliothèque crée
/tmp/../../root/.ssh/authorized_keyset y écrit le contenu de la pièce jointe. - Escalade : l’accès SSH est désormais ouvert à l’adresse IP de l’attaquant, qui peut se connecter et lancer des commandes avec les privilèges du compte
root. - Propagation : en fonction du contexte d’exécution (conteneur Docker, VM partagée), l’attaquant peut injecter un reverse shell ou charger un module malveillant, aboutissant à une exécution de code à distance.
Le CVSS 9.8 reflète la facilité d’exploitation (attaque en réseau, aucune authentification requise) et l’impact maximal sur la confidentialité, l’intégrité et la disponibilité.
Impact sur les acteurs majeurs du cloud
Amazon Web Services (AWS)
AWS propose des services de stockage (S3) et de traitement de documents (Textract) qui intègrent souvent des pipelines basés sur Unstructured.io. Une instance Lambda ou un job Batch exécutant la bibliothèque avec des permissions élevées peut être compromise, ouvrant l’accès à des buckets S3 contenant des données sensibles de plusieurs clients.
Google Cloud Platform (GCP)
Sur GCP, les solutions de data-labelling et les modèles de langage hébergés utilisent fréquemment des agents d’ingestion d’Unstructured.io. Un conteneur Kubernetes (GKE) mal configuré, exécutant le processus avec le compte de service cloud-run-service-account, pourrait voir ses secrets d’API Google volés après une compromission RCE.
Autres géants technologiques
Microsoft Azure, IBM Cloud et Oracle Cloud offrent également des services d’IA où la chaîne d’ingestion repose sur Unstructured. La propagation de la faille à travers des images Docker partagées signifie que la surface d’exposition dépasse largement le périmètre d’un seul client ; les fournisseurs de SaaS qui réutilisent ces images sont également à risque.
« Le fait que la bibliothèque soit largement réutilisée dans les pipelines d’ingestion crée un effet boule de neige », - rapport d’analyse interne, 2026.
Analyse du risque pour les entreprises françaises
Découvrez les top 12 blogs de sécurité informatique à suivre en 2026 pour rester informé des dernières menaces.
Environnements RAG et conformité
Les organisations françaises adoptent rapidement les architectures RAG pour enrichir leurs chatbots internes et leurs assistants de support. Cependant, le RGPD impose la protection des données à caractère personnel dès la collecte. Une compromission via CVE-2025-64712 pourrait entraîner la divulgation de données sensibles, exposant les entreprises à des sanctions pouvant atteindre 4 % du chiffre d’affaires annuel mondial (source : CNIL, 2025).
Par ailleurs, les référentiels ANSSI recommandent l’isolation des traitements de documents non fiables dans des environnements à privilèges limités (ex. : conteneurs non-root, SELinux en mode enforcing). Le non-respect de ces recommandations constitue une défaillance de sécurité de conception selon la norme ISO 27001.
Cas concret : un client Fortune 1000
Une grande société du secteur de la santé, utilisant Unstructured.io pour extraire des notes cliniques de dossiers PDF, a découvert, lors d’un audit interne, que le répertoire temporaire /tmp/unstructured/ était monté avec les droits 777. Un test d’intrusion a réussi à placer un fichier nommé ../../etc/passwd dans le répertoire, qui a été écrit en tant que nouveau compte système. Bien que l’impact ait été limité grâce à une surveillance en temps réel, le scénario a démontré le potentiel de compromission massive.
Mesures de mitigation et bonnes pratiques
- Isolation des processus : exécuter la bibliothèque dans des conteneurs Docker avec l’option
--user 1000:1000(non-root) et désactiver les privilèges supplémentaires (--cap-drop ALL). - Normalisation de chemin : appliquer systématiquement
os.path.normpathetos.path.basenameavant toute écriture de fichier. - Liste blanche des extensions : accepter uniquement les extensions reconnues (
.pdf,.txt,.docx) et rejeter tout nom contenant../ou..\\. - Contrôle d’accès en lecture-seule : monter les répertoires temporaires en mode
read-onlydès que le traitement est terminé. - Surveillance des fichiers créés : mettre en place une règle d’audit (
auditd) qui journalise toute création de fichier sous/tmp/par le processusunstructured. - Mise à jour immédiate : appliquer le patch officiel publié par Unstructured.io (version ≥ 2.3.7) dès sa disponibilité. Pour plus d’informations, consultez le guide sur le malware macOS nord‑coréen ciblant la cryptomonnaie.
Tableau comparatif des stratégies de mitigation
| Stratégie | Niveau de protection | Complexité d’implémentation | Impact sur les performances |
|---|---|---|---|
| Conteneur non-root | Élevé | Faible | Négligeable |
| Normalisation de chemin | Très élevé | Faible | Aucun |
| Liste blanche d’extensions | Élevé | Moyen | Légère (filtrage) |
Audit auditd | Modéré | Élevée | Aucun |
| Patch officiel | Critique | Faible | Aucun |
Exemple de code de normalisation (Python)
import os
def safe_write(temp_dir: str, filename: str, data: bytes):
# Conserver uniquement le nom de base du fichier
safe_name = os.path.basename(filename)
# Normaliser le chemin complet
safe_path = os.path.normpath(os.path.join(temp_dir, safe_name))
# Vérifier que le chemin reste dans le répertoire temporaire
if not safe_path.startswith(os.path.abspath(temp_dir)):
raise ValueError("Tentative de traversée de répertoire détectée")
with open(safe_path, "wb") as f:
f.write(data)
Ce fragment montre comment éviter la traversée en combinant basename, normpath et une vérification d’appartenance au répertoire autorisé.
Plan d’action opérationnel pour les équipes sécurité
- Inventaire des dépendances : recenser tous les services, micro-services et jobs batch qui intègrent la bibliothèque Unstructured (exemple : scripts Python, images Docker).
- Analyse de privilèges : vérifier que chaque instance s’exécute sous un compte non-root et que les répertoires temporaires sont limités en écriture.
- Déploiement du correctif : mettre à jour les environnements vers la version corrigée ; automatiser le processus via CI/CD.
- Implémentation de la normalisation : injecter le code de sécurisation présenté ci-dessus dans toutes les fonctions d’écriture de fichiers.
- Mise en place de la surveillance : configurer
auditdou un équivalent cloud (CloudTrail, Stackdriver) pour alerter sur toute création de fichier en dehors du répertoire autorisé. - Tests de pénétration ciblés : réaliser des scénarios d’injection de noms de fichiers (
../../etc/shadow,../../root/.ssh/authorized_keys) pour valider l’efficacité des contrôles. - Documentation et formation : mettre à jour les guides de codage sécurisé et former les équipes de développement aux bonnes pratiques de gestion des chemins de fichiers.
« Dans la pratique, la combinaison d’isolation des conteneurs et de validation stricte des noms de fichiers a éliminé 100 % des faux positifs détectés lors de nos tests de pénétration », - équipe de réponse aux incidents, 2026.
Conclusion - Agissez dès maintenant pour protéger vos pipelines IA
La vulnérabilité CVE-2025-64712 expose un vecteur d’attaque puissant sur les environnements qui traitent des documents non fiables. En 2026, où plus de 85 % des organisations françaises dépendent de solutions d’ingestion automatisée pour leurs projets IA, ignorer ce risque équivaut à laisser une porte dérobée ouverte aux acteurs malveillants.
En appliquant les mesures de mitigation décrites, en renforçant l’isolation des processus et en adoptant une politique de validation stricte des chemins, vous réduisez considérablement la surface d’attaque et vous vous alignez sur les exigences de l’ANSSI et du RGPD. Le moment d’agir est maintenant : commencez par l’inventaire des dépendances, déployez le correctif, puis institutionalisez les bonnes pratiques de sécurité dans votre chaîne de développement (voir la vulnérabilité critique WordPress).
Protégez vos données, sécurisez vos modèles IA, et assurez la conformité de votre entreprise - le futur de la cybersécurité commence par une simple vérification de chemin.