Plusieurs vulnérabilités découvertes dans des implémentations du protocole RDP

Les chercheurs en sécurité de la société Check Point ont annoncé la découverte de plusieurs vulnérabilités sur des implémentations du Remote Desktop Protocol (RDP). Les logiciels étudiés sont le client RDP Windows, FreeRDP et rdesktop, sur lesquels un total de 25 vulnérabilités ont été découvertes dont 15 majeures. L'exploitation de ces vulnérabilités est complexe, mais elle pourrait permettre à un attaquant d’exécuter du code sur la machine distante et potentiellement d'attaquer le réseau interne à partir du poste vulnérable.

Le protocole RDP permet à un utilisateur de se connecter par l'intermédiaire d'une interface graphique à un autre ordinateur distant. Il s'agit d'un protocole propriétaire développé par Microsoft qui nécessite l'utilisation d'un client sur le poste distant, tandis que le poste hôte doit utiliser un logiciel de serveur RDP. Le protocole a depuis été porté sur d'autres systèmes d'exploitation comme macOS ou Linux. Un scénario habituel d'abus du protocole RDP est celui dans lequel un client malveillant réussit à convaincre un utilisateur contrôlant le serveur RDP, de pouvoir se connecter à sa session par l'intermédiaire du serveur. Dans le cas présent, les chercheurs ont élaboré des scénarios dans lesquelles les vulnérabilités seraient exploitées depuis le serveur sur le poste du client. Ces attaques sont dites "RDP inversées", car c'est la machine qui vient se connecter qui va être exploitée.

En raison du caractère propriétaire du protocole, les chercheurs se sont d'abord penchés sur l'étude des clients Open Source de manière à obtenir une meilleure compréhension de l'implémentation du protocole.

Bien que l'implémentation de Microsoft se soit avérée plus robuste que celles distribuées en Open Source, une vulnérabilité liée au partage du presse-papier dans la connexion a été identifiée. Elle permettrait à un attaquant de déposer des fichiers de manière arbitraire sur le poste du client. Ces fichiers pourraient ensuite être exécutés au démarrage du système s’ils sont placés dans un répertoire spécifique. Aucun privilège spécifique n'est requis pour déclencher l'attaque.

De manière générale, la majorité des vulnérabilités identifiées sont dues à des dépassements de mémoire. Les canaux de communications ne sont pas suffisamment sécurisés et lors de la réception de paquets, leur longueur n'est pas correctement vérifiée, permettant ainsi l'écriture de code en mémoire. Ces dépassements pourraient alors permettre l’exécution de code arbitraire à distance. Cependant, il convient de préciser qu'une attaque de ce type est complexe à mettre en œuvre. Les vulnérabilités les plus critiques sur FreeRDP et rdesktop ont été référencées de la manière suivante : CVE-2018-20179 [CVSS 7.5], CVE-2018-20181 [CVSS 7.5], CVE-2018-8795 [CVSS 7.5], CVE-2018-8787 [CVSS 9.8] et CVE-2018-8786 [CVSS 6.5].

Sur le client Microsoft, l'une des fonctionnalités proposées par défaut est le partage de presse-papier. Or le serveur est capable de modifier à la volée son contenu, toute opération de copie depuis le presse-papier est alors potentiellement dangereuse. Cela est notamment accentué par le fait que certaines données ne sont pas correctement assainies, et peuvent être ainsi la cible d'attaque par traversées de répertoire. Les chercheurs sont également capables d'arrêter le processus contrôlant le presse-papier et de le remplacer par un processus malveillant sans que le client n'en soit notifié.

Des mises à jour ont été publiées par les développeurs de FreeRDP, en revanche du côté de Microsoft, les vulnérabilités n'ayant pas été jugées assez critiques, la firme ne publiera pas de correctifs pour le moment. Pour les autres plateformes, et du fait de la criticité des vulnérabilités, les utilisateurs sont invités à appliquer les correctifs disponibles.

Informations
+

Risques

  • Exécution de code à distance

Criticité

  • Score CVSS : 9.8

Existence d'un code d'exploitation de la vulnérabilité

  • Une preuve de faisabilité est disponible pour la CVE 2018-8786. En revanche, les autres vulnérabilités ne disposeraient pas de code d'exploitation.

Composants et versions vulnérables

  • Client RDP Microsoft, version 18252.rs_prerelease.180928-1410
  • FreeRDP, version 2.0.0-rc3

CVE

  • CVE-2018-20179
  • CVE-2018-20181
  • CVE-2018-8795
  • CVE-2018-8787
  • CVE-2018-8786

Recommandations
+

Mise en place de correctif de sécurité

  • L'intégralité des vulnérabilités découvertes sur FreeRDP ont été corrigées dans la version s2.0.0-rc4.
  • Les vulnérabilités découvertes sur le client Microsoft n'ont pas été corrigées car Microsoft les juge trop peu critiques.

Solution de contournement

  • Aucune solution de contournement n'a été proposée.