Plusieurs vulnérabilités découvertes sur des outils SCP

Date de publication :

Un chercheur en sécurité indépendant a découvert 4 vulnérabilités dans plusieurs implémentations du protocole SCP. Ces vulnérabilités affectent notamment les outils OpenSSH, PuTTY et WinSCP. La plus critique des vulnérabilités découvertes permettrait à un attaquant de modifier le contenu du dossier de transfert sur le système du client. Une attaque de ce type peut donc être réalisée à distance et ne nécessite pas de privilège mais elle est complexe à mener et implique qu'un client vienne se connecter à un serveur contrôlé par l'attaquant. Son impact estimé sur la confidentialité, l'intégrité et la disponibilité des données est élevé.

SCP est l'acronyme de Secure Copy Protocol, il désigne à la fois le protocole et un programme l'implémentant. Celui-ci permet le transfert de fichiers de manière sécurisée entre un serveur et un client et se base sur le protocole SSH, OpenSSH. Il propose ainsi une implémentation de ce protocole, disponible pour plusieurs systèmes dérivés d'UNIX (Linux, OpenBSD, ...). Le programme n'autorise en temps normal que la modification de contenu (comme la création de fichier) uniquement sur ce qui a été explicitement autorisé et garantit l'intégrité du transfert. Or, la série de vulnérabilités découvertes permettrait au serveur de réaliser des opérations arbitraires ou bien de falsifier le contenu transféré.
Cette faille nécessite cependant que le client se connecte soit à un serveur de confiance qui a été compromis et auquel il s'était déjà connecté, soit à un hôte auquel il se connecte pour la première fois et pour lequel il doit donc accepter explicitement la connexion SSH via l'échange de clés. 

Seul WinSCP a pour le moment apporté un correctif pour ces vulnérabilités. Le chercheur a publié néanmoins un correctif non officiel pour OpenSSH, il a par ailleurs annoncé qu'il publiera une démonstration de faisabilité prochainement. Les vulnérabilités étant complexes à exploiter et n'ayant été dévoilées que le 11 janvier, elles n'auraient pas été exploitées lors de campagnes d'attaques. Néanmoins du fait de leur criticité, les administrateurs sont invités à appliquer les correctifs dès qu'ils seront disponibles.

Détails techniques :

Le chercheur a fourni un exemple de scénario d'attaque qui se déroule comme suit. Un attaquant contrôlant un serveur malveillant peut, en plus des fichiers légitimement demandés, transférer de manière dissimulée un fichier ".bash_aliases" sur le système de sa victime. Ce fichier permet de définir des alias pour les commandes de l'interpréteur (shell). Le fichier peut ainsi redéfinir des commandes de l'interpréteur avec des commandes malveillantes et ainsi changer leur comportement habituel.

  • CVE-2018-20685 [CVSS v3 5.3] La vulnérabilité découverte la plus critique a pour origine un manque de validation des entrées fournies par un utilisateur. En utilisant un alias comme une chaîne de caractère vide ou un point pour le répertoire cible du transfert, un attaquant pourrait alors modifier les permissions dudit répertoire.
  • CVE-2019-6111 [CVSS v3 5.9]Une vulnérabilité ayant pour origine le programme rcp et sur lequel scp est dérivée. Dans ce programme le serveur choisissait quels fichiers étaient transférés au client, sans effectuer de contrôle suffisant en permettant la réécriture de fichiers déjà existant dans le répertoire distant. Le seul contrôle effectué ne portait que sur le nom et donc insuffisant selon le rapport de vulnérabilité.

Informations

La faille est activement exploitée :

Un correctif existe :

Une mesure de contournement existe :

Risques

Risques

  • Atteinte à la confidentialité des données ;
  • Modification des paramètres.

Criticité

  • Score CVSS : 5.30

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

  • Aucun code d'exploitation de la vulnérabilité n'est pour le moment disponible.

Composants & versions vulnérables

  • OpenSSH scp versions 7.9 et antérieures ;
  • PuTTY PSCP, versions indéterminées ;
  • WinSCP scp versions 5.13 et antérieures.

CVE

  • CVE-2018-20685
  • CVE-2019-6111
  • CVE-2019-6109
  • CVE-2019-6110

Solutions ou recommandations

Mise en place de correctif de sécurité

  • OpenSSH : le chercheur en sécurité a publié un correctif qu'il est possible d'appliquer manuellement. Un correctif officiel pour la CVE-2018-20685 a été publié mais n'est pas encore inclus dans la dernière version stable ;
  • PuTTY : aucun correctif n'est disponible ;
  • WinSCP : La mise à jour 5.14 corrige les vulnérabilités.

Solution de contournement

  • Aucune solution de contournement n'est proposée.