Chaîne RCE critique sur DeepChat (CVE-2026-43899 CVSS 9.6 et CVE-2026-43900 CVSS 9.3) : exécution de code via agent IA piégé et artefact SVG malveillant.
En bref
- CVE-2026-43899 (CVSS 9.6) et CVE-2026-43900 (CVSS 9.3) frappent DeepChat, plateforme open-source d'agents IA basée sur Electron, divulguées publiquement le 11 mai 2026.
- La chaîne combine un bypass de mitigation Electron (exécution de protocole arbitraire / RCE) et un XSS critique via artefact SVG, permettant l'exécution de code natif à partir d'un simple chat avec un agent IA.
- Action urgente : mettre à jour vers DeepChat v1.0.4-beta.1 ou supérieur sans délai, désactiver l'exécution d'artefacts SVG pour les utilisateurs ne pouvant pas patcher.
Les faits
Le 11 mai 2026, l'équipe de DeepChat — plateforme open-source d'agents IA distribuée comme application desktop Electron — a publié coordonnément deux avis de sécurité critiques visant les versions antérieures à v1.0.4-beta.1. La première vulnérabilité, CVE-2026-43899, atteint un score CVSS 9.6 (Critical) et concerne un contournement d'une mitigation antérieure conduisant à une exécution de code à distance via protocole arbitraire. La seconde, CVE-2026-43900, est scorée CVSS 9.3 (Critical) et permet l'exécution de JavaScript arbitraire dans le contexte du renderer Electron via la manipulation d'un artefact SVG injecté dans une conversation. Combinées, ces failles offrent à un attaquant la possibilité de transformer une simple interaction avec un agent IA en exécution de code natif sur la machine de la victime.
Le contexte de découverte est singulier. La CVE-2026-43899 est explicitement décrite comme une « mitigation incomplète pour CVE-2025-55733 » : la communauté DeepChat avait corrigé en septembre 2025 une faille permettant à un renderer compromis d'ouvrir des URL externes via api.openExternal(). Le correctif d'alors restreignait correctement l'usage de openExternal dans le script preload/index.ts du renderer principal, mais oubliait structurellement de couvrir les handlers de fenêtres pop-up natives Electron, qui héritent indépendamment de l'environnement de sécurité du renderer parent. Un attaquant déclenchant l'ouverture d'une pop-up native depuis le renderer compromis peut ainsi contourner intégralement la frontière de sécurité isValidExternalUrl établie par le patch initial.
Concrètement, l'exploitation de CVE-2026-43899 consiste à invoquer un protocole d'URL arbitraire (file://, javascript:, ms-msdt:, vscode:, ou tout handler enregistré dans l'OS) qui sera traité par le système hôte en dehors de la sandbox Electron. Sur Windows, l'exploit publique enchaîne avec un handler personnalisé pour déclencher une exécution de commande PowerShell. Sur macOS, des handlers comme ms-msdt: ou des URI custom (Slack, Discord, ou autres applications installées) ouvrent des vecteurs équivalents. Sur Linux, le handler xdg-open et les fichiers .desktop offrent des surfaces similaires. La présence du PoC public et la simplicité d'exploitation rendent l'attaque triviale pour tout opérateur d'agent IA hébergeant des contenus susceptibles d'être injectés vers un utilisateur DeepChat cible.
La CVE-2026-43900 exploite un défaut différent mais complémentaire : une divergence entre la validation backend de DeepChat et le moteur de rendu frontend du navigateur Electron. Les artefacts SVG transmis dans les conversations sont assainis côté serveur via une politique de filtrage des balises et attributs dangereux. Mais le moteur de rendu Chromium embarqué interprète certaines constructions SVG (notamment les éléments <foreignObject> et certains attributs xlink avec valeurs javascript:) de manière différente du sanitiseur, créant une fenêtre d'injection persistante. Un agent IA répondant avec un artefact SVG conçu par l'attaquant, ou un utilisateur recevant un partage de conversation contenant un tel SVG, déclenche immédiatement l'exécution de JavaScript arbitraire dans le contexte du renderer.
L'enchaînement des deux failles est trivial à automatiser. L'attaquant crée un agent IA hébergé (sur HuggingFace, sur sa propre plateforme MCP, ou sur un serveur OpenAI-compatible non vérifié) qui répond systématiquement par un artefact SVG malveillant ; le SVG, à l'ouverture dans le client DeepChat, exécute du JavaScript via CVE-2026-43900, qui à son tour appelle l'ouverture de pop-up native vers une URI custom déclenchant l'exécution native via CVE-2026-43899. La victime n'a aucune interaction explicite : un simple message envoyé à l'agent compromis suffit. La complexité d'attaque est notée « Low » dans les vecteurs CVSS, confirmant l'accessibilité de l'exploitation.
Aucun groupe APT n'a été nommément attribué à cette divulgation au moment de la publication, mais la combinaison « agent IA malveillant + RCE sur poste utilisateur » s'inscrit dans une tendance plus large d'attaques contre les outils d'IA conversationnelle observée depuis fin 2025. Les modèles d'attaque « prompt injection vers RCE » documentés par Anthropic, Microsoft AI Security et Google Threat Analysis Group convergent vers l'exploitation de la confiance que les utilisateurs accordent aux artefacts retournés par leurs agents IA. DeepChat n'est ni la première ni la dernière plateforme touchée : des incidents similaires ont visé Cursor, Continue.dev et plusieurs intégrations VSCode-AI en 2025-2026.
Le correctif est disponible dans la version v1.0.4-beta.1 publiée le 11 mai 2026. Il combine plusieurs mesures : restriction stricte des protocoles autorisés dans tous les handlers Electron (window.open, popup, will-navigate, new-window), durcissement du sanitiseur SVG pour interdire foreignObject et les attributs xlink:href avec schémas non https, et alignement explicite entre le sanitiseur backend et la Content Security Policy frontend. L'équipe DeepChat recommande également aux utilisateurs avancés d'activer la sandbox Electron complète via le flag --enable-sandbox au démarrage, ce qui constituait jusqu'ici une option optionnelle.
Le périmètre d'utilisateurs concernés est difficile à chiffrer publiquement — DeepChat ne publie pas de statistiques d'installation —, mais le projet GitHub cumulait plus de 25 000 stars et plusieurs dizaines de milliers de téléchargements sur les release pages au moment de la divulgation. La plateforme est particulièrement populaire dans la communauté d'utilisateurs avancés d'IA souhaitant orchestrer plusieurs modèles (OpenAI, Anthropic, locaux via Ollama) dans un client unifié, et dans certaines équipes recherche IA et startups, ce qui en fait une cible secondaire crédible pour des attaques ciblées de vol de propriété intellectuelle.
Impact et exposition
Toute installation DeepChat antérieure à v1.0.4-beta.1 est vulnérable, sur Windows, macOS et Linux. L'exploitation nécessite uniquement que la victime interagisse avec un agent IA dont les réponses sont contrôlées par l'attaquant — ce qui inclut tous les agents IA tiers, les MCP servers non maîtrisés, les modèles hébergés sur des plateformes non vérifiées, et même certains modèles compromis en amont via empoisonnement.
L'impact en cas d'exploitation est total : exécution de code natif avec les privilèges de l'utilisateur exécutant DeepChat. Sur les postes développeurs, cela donne accès aux clés SSH, aux tokens GitHub/GitLab, aux credentials cloud, aux historiques shell, et potentiellement aux outils d'éditeur IA (Cursor, Continue, Cline) qui contiennent eux-mêmes des tokens d'API LLM précieux. La compromission d'un poste développeur via DeepChat constitue ainsi un point de bascule vers la chaîne d'approvisionnement complète des projets sur lesquels travaille la victime.
Aucune exploitation in-the-wild documentée n'a été confirmée à la date de publication, mais la disponibilité du PoC dans les bulletins publics et la triviale possibilité de monter un agent IA piégé garantissent une apparition rapide d'attaques opportunistes. Les utilisateurs DeepChat qui interagissent avec des agents communautaires sur HuggingFace, sur des MCP servers publics ou via des proxys OpenAI-compatibles tiers doivent considérer leur poste comme exposé jusqu'à la mise à jour.
La nature « confiance dans l'agent IA » du vecteur rend la sensibilisation utilisateur particulièrement difficile : un utilisateur averti acceptera naturellement de cliquer sur un artefact retourné par son agent, là où il refuserait un fichier email d'inconnu. Ce biais comportemental est la principale cause de criticité élevée de la chaîne malgré une surface d'attaque techniquement limitée à un logiciel spécifique.
Recommandations immédiates
- Mettre à jour DeepChat vers la version v1.0.4-beta.1 ou supérieure immédiatement — advisory : DeepChat Security Advisory mai 2026 référencé sur la page release du projet en texte brut.
- En attendant la mise à jour : ne pas interagir avec des agents IA tiers non vérifiés, désactiver l'affichage des artefacts SVG via les préférences utilisateur (Settings → Artifacts → SVG rendering : OFF).
- Lancer DeepChat avec le flag --enable-sandbox pour activer la sandbox Electron complète, en complément du patch.
- Réviser l'utilisation des MCP servers : limiter strictement la liste des MCP servers connectés à ceux vérifiés et signés. Ne jamais ajouter un MCP server depuis une source non maîtrisée.
- Pour les organisations déployant DeepChat en interne : passer en mode allowlist sur les modèles et agents connectables, bloquer au pare-feu les domaines d'agent IA non approuvés, surveiller les exécutions de processus enfants de DeepChat.exe / DeepChat.app / deepchat.
- Faire tourner les credentials de tous les éditeurs IA et services LLM accessibles depuis une machine ayant utilisé DeepChat avec un agent tiers ces 30 derniers jours.
⚠️ Vecteur IA innovant
Cette chaîne marque l'arrivée mainstream du modèle d'attaque « agent IA piégé → RCE poste utilisateur ». Le sanitiseur de votre client IA n'est pas une frontière de sécurité fiable. Toute installation DeepChat antérieure à v1.0.4-beta.1 doit être traitée comme exposée, particulièrement si l'utilisateur interagit avec des agents non vérifiés.
Comment savoir si je suis vulnérable ?
Lancer DeepChat et consulter Settings → About : si la version affichée est strictement antérieure à v1.0.4-beta.1, l'installation est vulnérable. En ligne de commande, vérifier via deepchat --version sur Linux/macOS ou les propriétés du fichier .exe sur Windows. Vérifier également les logs récents (par défaut dans ~/.config/DeepChat/logs/ sous Linux, ~/Library/Logs/DeepChat/ sous macOS) pour détecter d'éventuelles tentatives d'ouverture de protocoles inhabituels (file://, javascript:, vscode:, ms-msdt:) qui constitueraient des indicateurs de compromission.
Vos outils IA sont-ils sécurisés ?
Ayi NEDJIMI audite les déploiements d'outils IA en entreprise, identifie les chaînes d'exploitation vers les postes utilisateurs et conçoit les politiques de durcissement adaptées.
Demander un auditÀ propos de l'auteur
Ayi NEDJIMI
Auditeur Senior Cybersécurité & Consultant IA
Expert Judiciaire — Cour d'Appel de Paris
Habilitation Confidentiel Défense
ayi@ayinedjimi-consultants.fr
Ayi NEDJIMI est un vétéran de la cybersécurité avec plus de 25 ans d'expérience sur des missions critiques. Ancien développeur Microsoft à Redmond sur le module GINA (Windows NT4) et co-auteur de la version française du guide de sécurité Windows NT4 pour la NSA.
À la tête d'Ayi NEDJIMI Consultants, il réalise des audits Lead Auditor ISO 42001 et ISO 27001, des pentests d'infrastructures critiques, du forensics et des missions de conformité NIS2 / AI Act.
Conférencier international (Europe & US), il a formé plus de 10 000 professionnels.
Domaines d'expertise
Ressources & Outils de l'auteur
Testez vos connaissances
Mini-quiz de certification lié à cet article — propulsé par CertifExpress
Articles connexes
CVE-2026-45321 Mini Shai-Hulud : 170+ paquets npm compromis
CVE-2026-45321 (CVSS 9.6) : compromission massive de 170+ paquets npm (TanStack, Mistral AI, UiPath) par le ver Mini Shai-Hulud, vol massif de credentials développeurs.
CVE-2026-43284 Dirty Frag : LPE root noyau Linux (PoC public)
Chaîne d'élévation de privilèges locale Dirty Frag (CVE-2026-43284 et CVE-2026-43500) dans le noyau Linux : PoC public, exploitation active confirmée par Microsoft.
CVE-2026-42605 : RCE AzuraCast path traversal upload (8.8)
CVE-2026-42605 (CVSS 8.8) : un compte DJ AzuraCast suffit pour exploiter un path traversal dans l'endpoint d'upload Flow.js et déposer un webshell PHP. Patch 0.23.6 urgent.
Commentaires
Aucun commentaire pour le moment. Soyez le premier à commenter !
Laisser un commentaire