Risque

Exécution de code arbitraire.

Systèmes affectés

Serveurs FTP suivants :

  • FreeBSD 4.2 ;
  • Fujitsu UXP/V ;
  • HP-UX 11 ;
  • NetBSD 1.5 ;
  • OpenBSD 2.8 ;
  • SGI IRIX 6.5.x ;
  • Solaris 8.

Résumé

Un utilisateur distant mal intentionné peut, par l'emploi des caractères de substitution, exécuter du code arbitraire sur le serveur cible.

Description

Une fonction glob permet, lors de la consultation d'un serveur ftp, de mettre des caractères de substitution, tels que « * » ou « ˜ », dans les noms des fichiers.

L'utilisation de ces caractères permet, par exemple lors de l'utilisation de la commande « mget *.c », de récupérer tous les fichiers portant l'extension « .c ».

Une vulnérabilité dans la fonction glob(), lors de l'utilisation conjointe des caractères « * » et « ˜ », peut provoquer un débordement de pile. Un utilisateur mal intentionné effectuant une requête, avec des caractères de substitution judicieusement placés, peut provoquer l'exécution de code arbitraire avec les droits du serveur ftp (trop souvent root).

Solution

Recommandation : Lancer le serveur ftp en tant qu'utilisateur afin de diminuer les droits.

Documentation

Avis du CERT CC :

http://www.cert.org/advisories/CA-2001-07.html