
Rapport et code pour CVE-2025-11492, CVE-2025-11493 - RCE dans ConnctWise Automate RMM via Adversary-in-the-Middle
Dans le cadre d'un test de pénétration, j'ai découvert plusieurs vulnérabilités dans l'agent ConnectWise Automate Remote Monitoring and Management (RMM). ConnectWise est utilisé par de nombreux fournisseurs de services gérés (MSP) pour gérer et surveiller les appareils clients. Ces vulnérabilités permettaient une exécution de code à distance si un attaquant parvenait à établir un Adversaire-au-Milieu réseau, ou pouvaient être utilisées pour une élévation de privilèges locale et une persistance furtive si un attaquant obtenait une exécution de code ou un accès physique à un appareil exécutant l'agent ConnectWise Automate.
Les vulnérabilités ont été signalées à ConnectWise le 20 août 2025. ConnectWise a attribué des identifiants CVE et a publié un correctif dans la version 2025.9 le 16 octobre 2025.
Bulletin ConnectWise :
Identifiants CVE :
2025.9 et publie le bulletin de sécurité et les CVE.J'ai apprécié la réactivité de ConnectWise et leur approche collaborative en matière de correction, ainsi que leur volonté de discuter de la meilleure façon de classer et de corriger les vulnérabilités.
Classer ces vulnérabilités a été un défi intéressant. Passer au HTTPS résout pratiquement tous les scénarios de ce rapport, mais il était évident qu'il s'agissait à l'origine d'un choix de conception (pour supporter HTTP) visant à améliorer la fiabilité de la communication agent-serveur. Le schéma de chiffrement semblait partiellement reconnaître/tenter d'atténuer le risque d'AiTM, mais n'était pas appliqué de manière cohérente. Approfondir la question a nécessité de déterminer si la faiblesse provenait de http lui-même ou de l'absence de chiffrement au-dessus de HTTP, ainsi que de la prévention du rejeu, de la validation des plugins, etc., qui constituaient toutes leurs propres vulnérabilités. À un moment donné, ConnectWise envisageait 5 CVE ou plus pour différents aspects des vulnérabilités.
De plus, la portée et le vecteur d'attaque changeaient selon que la vulnérabilité était considérée du point de vue d'un AiTM (exemple : Wi-Fi de café) ou d'une élévation de privilèges locale/accès physique. Une autre approche aurait été de considérer chaque scénario comme une vulnérabilité distincte, par exemple AiTM RCE, LPE, prise de contrôle de persistance, etc.
Un dernier enseignement : même en 2025, nous avons toujours du mal à partager des fichiers efficacement :D (la sécurité des e-mails n'aimait pas que j'envoie des fichiers .dll ou des .zip les contenant).
Ce rapport est publié suite à la publication par ConnectWise d'un correctif et à la divulgation des CVE, et avec leur accord qu'une telle divulgation ne nuit pas à leurs utilisateurs. De plus, je pense que la divulgation publique de ces vulnérabilités et de leurs atténuations aidera d'autres fournisseurs et professionnels de la sécurité à mieux comprendre et atténuer les risques à la fois dans ConnectWise Automate et dans d'autres systèmes RMM.
Le contenu est destiné uniquement à des fins légitimes de recherche en sécurité autorisée et d'éducation. Toute utilisation non autorisée de ces informations pour compromettre des systèmes, réseaux ou données est illégale et contraire à l'éthique. Le contenu est fourni "en l'état" et sans garantie d'aucune sorte. Le(s) auteur(s) décline(nt) toute responsabilité pour tout dommage résultant de l'utilisation ou de la mauvaise utilisation de ces informations.
Si vous utilisez ce code ou ces informations pour des recherches ultérieures, pratiquez une divulgation responsable en signalant toute vulnérabilité découverte au(x) fournisseur(s) concerné(s).
En plus du rapport ci-dessous, ce dépôt contient un code PoC pour démontrer les vulnérabilités. Voir automate_server/README.md pour les détails sur l'implémentation du faux serveur et les instructions d'utilisation.
Ce code pourrait également être utilisé pour effectuer des recherches de sécurité (éthiques) supplémentaires sur ConnectWise Automate.
Le rapport suivant (ou une version proche), ainsi que le code Python PoC de ce dépôt, a été fourni à ConnectWise, avec les atténuations recommandées.
La section des atténuations supprimées détaille davantage les modifications qui pourraient être apportées à l'agent Automate pour le renforcer de plusieurs manières contre ces vulnérabilités.
Comme certaines de ces modifications sont encore à l'étude par ConnectWise, cette section a été supprimée de cette divulgation publique.
L'agent ConnectWise Automate Remote Monitoring and Management (RMM) (testé sur la dernière version d'août 2025, chaîne de version 250.252) est vulnérable à une exécution de code à distance basée sur le réseau dans certaines configurations. Si l'agent est configuré pour utiliser un transport HTTP non chiffré (soit principalement, soit comme repli) pour son Server Address et qu'un attaquant peut effectuer une attaque d'adversaire-au-milieu (AiTM), alors il peut exécuter du code à distance en tant que SYSTEM. Cette configuration a été observée dans la nature chez plusieurs fournisseurs de services gérés (MSP).